Apparatus, system and method of terminating a neighbor awareness networking (NAN) path

ABSTRACT

Some demonstrative embodiments include apparatuses, systems and/or methods of terminating a Neighbor Awareness Networking (NAN) path. For example, an apparatus may include logic and circuitry configured to cause a first NAN device to transmit a message including a NAN Data Link (NDL) attribute corresponding to an NDL with a second NAN device, the NDL attribute including a Maximal (Max) Idle Period field to indicate a time period during which the second NAN device is allowed to refrain from transmitting over the NDL without the NDL being terminated; and to allow the first NAN device to terminate all NAN Data Paths (NDPs) over the NDL, if any frame is not received from the second NAN device for at least the time period indicated by the Max Idle Period field.

CROSS REFERENCE

This application claims the benefit of and priority from U.S.Provisional Patent Application No. 62/338,026 entitled “APPARATUS,SYSTEM AND METHOD OF TERMINATING A NAN PATH”, filed May 18, 2016, andU.S. Provisional Patent Application No. 62/427,306 entitled “APPARATUS,SYSTEM AND METHOD OF TERMINATING A NAN PATH”, filed Nov. 29, 2016, theentire disclosures of which are incorporated herein by reference.

TECHNICAL FIELD

Embodiments described herein generally relate to terminating a NeighborAwareness Networking (NAN) path.

BACKGROUND

Awareness networking, for example, according to a Wi-Fi AwareSpecification, may enable wireless devices, for example, Wi-Fi devices,to perform device/service discovery, e.g., in their close proximity.

The awareness networking may include forming a cluster, e.g., a Wi-FiAware cluster, for devices in proximity Devices in the same Wi-Fi Awarecluster may be configured to follow the same time schedule, e.g., adiscovery window (DW), for example, to facilitate cluster formationand/or to achieve low power operation.

BRIEF DESCRIPTION OF THE DRAWINGS

For simplicity and clarity of illustration, elements shown in thefigures have not necessarily been drawn to scale. For example, thedimensions of some of the elements may be exaggerated relative to otherelements for clarity of presentation. Furthermore, reference numeralsmay be repeated among the figures to indicate corresponding or analogouselements. The figures are listed below.

FIG. 1 is a schematic block diagram illustration of a system, inaccordance with some demonstrative embodiments.

FIG. 2 is a schematic illustration of communications and operationsaccording to a Neighbor Awareness Networking (NAN) Data Path (NDP) setupprocedure, which may be implemented in accordance with somedemonstrative embodiments.

FIG. 3 is a schematic illustration of communications and operationsbetween a NAN enrollee device and a NAN enroller device according to aNAN Multicast Service Group (NMSG) enrolment procedure, which may beimplemented in accordance with some demonstrative embodiments.

FIG. 4 is a schematic illustration of communications and operationsbetween a NAN enrollee device and a NAN enroller device according to anNMSG enrolment procedure, which may be implemented in accordance withsome demonstrative embodiments.

FIG. 5 is a schematic flow-chart illustration of a method of terminatinga NAN Path, in accordance with some demonstrative embodiments.

FIG. 6 is a schematic flow-chart illustration of a method of terminatinga NAN Path, in accordance with some demonstrative embodiments.

FIG. 7 is a schematic illustration of a product, in accordance with somedemonstrative embodiments.

DETAILED DESCRIPTION

In the following detailed description, numerous specific details are setforth in order to provide a thorough understanding of some embodiments.However, it will be understood by persons of ordinary skill in the artthat some embodiments may be practiced without these specific details.In other instances, well-known methods, procedures, components, unitsand/or circuits have not been described in detail so as not to obscurethe discussion.

Discussions herein utilizing terms such as, for example, “processing”,“computing”, “calculating”, “determining”, “establishing”, “analyzing”,“checking”, or the like, may refer to operation(s) and/or process(es) ofa computer, a computing platform, a computing system, or otherelectronic computing device, that manipulate and/or transform datarepresented as physical (e.g., electronic) quantities within thecomputer's registers and/or memories into other data similarlyrepresented as physical quantities within the computer's registersand/or memories or other information storage medium that may storeinstructions to perform operations and/or processes.

The terms “plurality” and “a plurality”, as used herein, include, forexample, “multiple” or “two or more”. For example, “a plurality ofitems” includes two or more items.

References to “one embodiment”, “an embodiment”, “demonstrativeembodiment”, “various embodiments” etc, indicate that the embodiment(s)so described may include a particular feature, structure, orcharacteristic, but not every embodiment necessarily includes theparticular feature, structure, or characteristic. Further, repeated useof the phrase “in one embodiment” does not necessarily refer to the sameembodiment, although it may.

As used herein, unless otherwise specified the use of the ordinaladjectives “first”, “second”, “third” etc, to describe a common object,merely indicate that different instances of like objects are beingreferred to, and are not intended to imply that the objects so describedmust be in a given sequence, either temporally, spatially, in ranking,or in any other manner.

Some embodiments may be used in conjunction with devices and/or networksoperating in accordance with existing (WiFi) Alliance (WFA)Specifications (including Wi-Fi Neighbor Awareness Networking (NAN)Technical Specification, Version 1.0, May 1, 2015) and/or futureversions and/or derivatives thereof, devices and/or networks operatingin accordance with existing WFA Peer-to-Peer (P2P) specifications (WiFiP2P technical specification, version 1.5, Aug. 4, 2014) and/or futureversions and/or derivatives thereof, devices and/or networks operatingin accordance with existing IEEE 802.11 standards (including IEEE802.11-2012 (IEEE 802.11-2012, IEEE Standard for Informationtechnology—Telecommunications and information exchange between systemsLocal and metropolitan area networks—Specific requirements Part 11:Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY)Specifications, Mar. 29, 2012); IEEE802.11ac-2013 (“IEEE P802.11ac-2013,IEEE Standard for Information Technology—Telecommunications andInformation Exchange Between Systems—Local and Metropolitan AreaNetworks—Specific Requirements—Part 11: Wireless LAN Medium AccessControl (MAC) and Physical Layer (PHY) Specifications—Amendment 4:Enhancements for Very High Throughput for Operation in Bands below 6GHz”, December, 2013); IEEE 802.11ad (“IEEE P802.11ad-2012, IEEEStandard for Information Technology—Telecommunications and InformationExchange Between Systems—Local and Metropolitan Area Networks—SpecificRequirements—Part 11: Wireless LAN Medium Access Control (MAC) andPhysical Layer (PHY) Specifications—Amendment 3: Enhancements for VeryHigh Throughput in the 60 GHz Band”, 28 Dec. 2012); IEEE-802.11REVmc(“IEEE 802.11-REVmc™/D6.0, June 2016, draft standard for Informationtechnology—Telecommunications and information exchange between systemsLocal and metropolitan area networks Specific requirements; Part 11:Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY)Specification”); IEEE 802.11ax (IEEE 802.11ax, High Efficiency WLAN(HEW)); IEEE 802.11ay (P802.11ay Standard for InformationTechnology—Telecommunications and Information Exchange Between SystemsLocal and Metropolitan Area Networks—Specific Requirements Part 11:Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY)Specifications—Amendment: Enhanced Throughput for Operation inLicense-Exempt Bands Above 45 GHz)) and/or future versions and/orderivatives thereof, devices and/or networks operating in accordancewith existing Wireless-Gigabit-Alliance (WGA) specifications (WirelessGigabit Alliance, Inc WiGig MAC and PHY Specification Version 1.1, April2011, Final specification) and/or future versions and/or derivativesthereof, devices and/or networks operating in accordance with existingcellular specifications and/or protocols, e.g., 3rd GenerationPartnership Project (3GPP), 3GPP Long Term Evolution (LTE) and/or futureversions and/or derivatives thereof, units and/or devices which are partof the above networks, and the like.

Some embodiments may be used in conjunction with one way and/or two-wayradio communication systems, cellular radio-telephone communicationsystems, a mobile phone, a cellular telephone, a wireless telephone, aPersonal Communication Systems (PCS) device, a PDA device whichincorporates a wireless communication device, a mobile or portableGlobal Positioning System (GPS) device, a device which incorporates aGPS receiver or transceiver or chip, a device which incorporates an RFIDelement or chip, a Multiple Input Multiple Output (MIMO) transceiver ordevice, a Single Input Multiple Output (SIMO) transceiver or device, aMultiple Input Single Output (MISO) transceiver or device, a devicehaving one or more internal antennas and/or external antennas, DigitalVideo Broadcast (DVB) devices or systems, multi-standard radio devicesor systems, a wired or wireless handheld device, e.g., a Smartphone, aWireless Application Protocol (WAP) device, or the like.

Some embodiments may be used in conjunction with one or more types ofwireless communication signals and/or systems, for example, RadioFrequency (RF), Infra Red (IR), Frequency-Division Multiplexing (FDM),Orthogonal FDM (OFDM), Orthogonal Frequency-Division Multiple Access(OFDMA), FDM Time-Division Multiplexing (TDM), Time-Division MultipleAccess (TDMA), Multi-User MIMO (MU-MIMO), Extended TDMA (E-TDMA),General Packet Radio Service (GPRS), extended GPRS, Code-DivisionMultiple Access (CDMA), Wideband CDMA (WCDMA), CDMA 2000, single-carrierCDMA, multi-carrier CDMA, Multi-Carrier Modulation (MDM), DiscreteMulti-Tone (DMT), Bluetooth®, Global Positioning System (GPS), Wi-Fi,Wi-Max, ZigBee™, Ultra-Wideband (UWB), Global System for Mobilecommunication (GSM), 2G, 2.5G, 3G, 3.5G, 4G, Fifth Generation (5G)mobile networks, 3GPP, Long Term Evolution (LTE), LTE advanced, EnhancedData rates for GSM Evolution (EDGE), or the like. Other embodiments maybe used in various other devices, systems and/or networks.

The term “wireless device”, as used herein, includes, for example, adevice capable of wireless communication, a communication device capableof wireless communication, a communication station capable of wirelesscommunication, a portable or non-portable device capable of wirelesscommunication, or the like. In some demonstrative embodiments, awireless device may be or may include a peripheral that is integratedwith a computer, or a peripheral that is attached to a computer. In somedemonstrative embodiments, the term “wireless device” may optionallyinclude a wireless service.

The term “communicating” as used herein with respect to a communicationsignal includes transmitting the communication signal and/or receivingthe communication signal. For example, a communication unit, which iscapable of communicating a communication signal, may include atransmitter to transmit the communication signal to at least one othercommunication unit, and/or a communication receiver to receive thecommunication signal from at least one other communication unit. Theverb communicating may be used to refer to the action of transmitting orthe action of receiving. In one example, the phrase “communicating asignal” may refer to the action of transmitting the signal by a firstdevice, and may not necessarily include the action of receiving thesignal by a second device. In another example, the phrase “communicatinga signal” may refer to the action of receiving the signal by a firstdevice, and may not necessarily include the action of transmitting thesignal by a second device.

Some demonstrative embodiments may be used in conjunction with a WLAN,e.g., a WiFi network. Other embodiments may be used in conjunction withany other suitable wireless communication network, for example, awireless area network, a “piconet”, a WPAN, a WVAN and the like.

As used herein, the term “circuitry” may refer to, be part of, orinclude, an Application Specific Integrated Circuit (ASIC), anintegrated circuit, an electronic circuit, a processor (shared,dedicated, or group), and/or memory (shared, dedicated, or group), thatexecute one or more software or firmware programs, a combinational logiccircuit, and/or other suitable hardware components that provide thedescribed functionality. In some embodiments, the circuitry may beimplemented in, or functions associated with the circuitry may beimplemented by, one or more software or firmware modules. In someembodiments, circuitry may include logic, at least partially operable inhardware.

The term “logic” may refer, for example, to computing logic embedded incircuitry of a computing apparatus and/or computing logic stored in amemory of a computing apparatus. For example, the logic may beaccessible by a processor of the computing apparatus to execute thecomputing logic to perform computing functions and/or operations. In oneexample, logic may be embedded in various types of memory and/orfirmware, e.g., silicon blocks of various chips and/or processors. Logicmay be included in, and/or implemented as part of, various circuitry,e.g. radio circuitry, receiver circuitry, control circuitry, transmittercircuitry, transceiver circuitry, processor circuitry, and/or the like.In one example, logic may be embedded in volatile memory and/ornon-volatile memory, including random access memory, read only memory,programmable memory, magnetic memory, flash memory, persistent memory,and/or the like. Logic may be executed by one or more processors usingmemory, e.g., registers, buffers, stacks, and the like, coupled to theone or more processors, e.g., as necessary to execute the logic.

The term “antenna”, as used herein, may include any suitableconfiguration, structure and/or arrangement of one or more antennaelements, components, units, assemblies and/or arrays. In someembodiments, the antenna may implement transmit and receivefunctionalities using separate transmit and receive antenna elements. Insome embodiments, the antenna may implement transmit and receivefunctionalities using common and/or integrated transmit/receiveelements. The antenna may include, for example, a phased array antenna,a single element antenna, a set of switched beam antennas, and/or thelike.

The phrase “peer to peer (PTP) communication”, as used herein, mayrelate to device-to-device communication over a wireless link(“peer-to-peer link”) between devices. The PTP communication mayinclude, for example, a WiFi Direct (WFD) communication, e.g., a WFDPeer to Peer (P2P) communication, wireless communication over a directlink within a QoS basic service set (BSS), a tunneled direct-link setup(TDLS) link, a STA-to-STA communication in an independent basic serviceset (IBSS), or the like.

Some demonstrative embodiments are described herein with respect to WiFicommunication. However, other embodiments may be implemented withrespect to any other communication scheme, network, standard and/orprotocol.

Reference is now made to FIG. 1, which schematically illustrates a blockdiagram of a system 100, in accordance with some demonstrativeembodiments.

As shown in FIG. 1, in some demonstrative embodiments system 100 mayinclude a wireless communication network including one or more wirelesscommunication devices, e.g., including wireless communication devices102, 140, 160 and/or 180.

In some demonstrative embodiments, wireless communication devices 102,140, 160 and/or 180 may include, for example, a UE, an MD, a STA, an AP,a PC, a desktop computer, a mobile computer, a laptop computer, anUltrabook™ computer, a notebook computer, a tablet computer, a servercomputer, a handheld computer, a handheld device, an Internet of Things(IoT) device, a sensor device, a wearable device, a PDA device, ahandheld PDA device, an on-board device, an off-board device, a hybriddevice (e.g., combining cellular phone functionalities with PDA devicefunctionalities), a consumer device, a vehicular device, a non-vehiculardevice, a mobile or portable device, a non-mobile or non-portabledevice, a mobile phone, a cellular telephone, a PCS device, a PDA devicewhich incorporates a wireless communication device, a mobile or portableGPS device, a DVB device, a relatively small computing device, anon-desktop computer, a “Carry Small Live Large” (CSLL) device, an UltraMobile Device (UMD), an Ultra Mobile PC (UMPC), a Mobile Internet Device(MID), an “Origami” device or computing device, a device that supportsDynamically Composable Computing (DCC), a context-aware device, a videodevice, an audio device, an A/V device, a Set-Top-Box (STB), a Blu-raydisc (BD) player, a BD recorder, a Digital Video Disc (DVD) player, aHigh Definition (HD) DVD player, a DVD recorder, a HD DVD recorder, aPersonal Video Recorder (PVR), a broadcast HD receiver, a video source,an audio source, a video sink, an audio sink, a stereo tuner, abroadcast radio receiver, a flat panel display, a Personal Media Player(PMP), a digital video camera (DVC), a digital audio player, a speaker,an audio receiver, an audio amplifier, a gaming device, a data source, adata sink, a Digital Still camera (DSC), a media player, a Smartphone, atelevision, a music player, or the like.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 mayinclude, operate as, and/or perform the functionality of one or moreSTAs. For example, device 102 may include at least one STA, and/ordevice 140 may include at least one STA.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 mayinclude, operate as, and/or perform the functionality of one or moreWLAN STAs.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 mayinclude, operate as, and/or perform the functionality of one or moreWi-Fi STAs.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 mayinclude, operate as, and/or perform the functionality of one or moreBluetooth (BT) devices.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 mayinclude, operate as, and/or perform the functionality of one or moreNeighbor Awareness Networking (NAN) STAs.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 mayinclude, operate as, and/or perform the functionality of one or morelocation measurement STAs.

In one example, a station (STA) may include a logical entity that is asingly addressable instance of a medium access control (MAC) andphysical layer (PHY) interface to the wireless medium (WM). The STA mayperform any other additional or alternative functionality.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 mayinclude, operate as, and/or perform the functionality of any otherdevices and/or STAs.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 maybe configured to operate as, and/or to perform the functionality of, anaccess point (AP) STA.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 maybe configured to operate as, and/or to perform the functionality of, anon-AP STA.

In one example, an AP may include an entity that contains a station(STA), e.g., one STA, and provides access to distribution services, viathe wireless medium (WM) for associated STAs. The AP may perform anyother additional or alternative functionality.

In one example, a non-AP STA may include a STA that is not containedwithin an AP. The non-AP STA may perform any other additional oralternative functionality.

In one example, device 102 may be configured to operate as, and/or toperform the functionality of an AP STA, and/or device 140 may beconfigured to operate as, and/or to perform the functionality of anon-AP STA.

In some demonstrative embodiments, device 102 may include, for example,one or more of a processor 191, an input unit 192, an output unit 193, amemory unit 194, and/or a storage unit 195; and/or devices 140, 160and/or 180 may include, for example, one or more of a processor 181, aninput unit 182, an output unit 183, a memory unit 184, and/or a storageunit 185. Devices 102, 140, 160 and/or 180 may optionally include othersuitable hardware components and/or software components. In somedemonstrative embodiments, some or all of the components of one or moreof devices 102, 140, 160 and/or 180 may be enclosed in a common housingor packaging, and may be interconnected or operably associated using oneor more wired or wireless links. In other embodiments, components of oneor more of devices 102, 140, 160 and/or 180 may be distributed amongmultiple or separate devices.

In some demonstrative embodiments, processor 191 and/or processor 181may include, for example, a Central Processing Unit (CPU), a DigitalSignal Processor (DSP), one or more processor cores, a single-coreprocessor, a dual-core processor, a multiple-core processor, amicroprocessor, a host processor, a controller, a plurality ofprocessors or controllers, a chip, a microchip, one or more circuits,circuitry, a logic unit, an Integrated Circuit (IC), anApplication-Specific IC (ASIC), or any other suitable multi-purpose orspecific processor or controller. Processor 191 executes instructions,for example, of an Operating System (OS) of device 102 and/or of one ormore suitable applications. Processor 181 executes instructions, forexample, of an Operating System (OS) of device 140 and/or of one or moresuitable applications.

In some demonstrative embodiments, input unit 192 and/or input unit 182may include, for example, a keyboard, a keypad, a mouse, a touch-screen,a touch-pad, a track-ball, a stylus, a microphone, or other suitablepointing device or input device. Output unit 193 and/or output unit 183includes, for example, a monitor, a screen, a touch-screen, a flat paneldisplay, a Light Emitting Diode (LED) display unit, a Liquid CrystalDisplay (LCD) display unit, a plasma display unit, one or more audiospeakers or earphones, or other suitable output devices.

In some demonstrative embodiments, memory unit 194 and/or memory unit184 may include, for example, a Random Access Memory (RAM), a Read OnlyMemory (ROM), a Dynamic RAM (DRAM), a Synchronous DRAM (SD-RAM), a flashmemory, a volatile memory, a non-volatile memory, a cache memory, abuffer, a short term memory unit, a long term memory unit, or othersuitable memory units. Storage unit 195 and/or storage unit 185includes, for example, a hard disk drive, a floppy disk drive, a CompactDisk (CD) drive, a CD-ROM drive, a DVD drive, or other suitableremovable or non-removable storage units. Memory unit 194 and/or storageunit 195, for example, may store data processed by device 102. Memoryunit 184 and/or storage unit 185, for example, may store data processedby device 140.

In some demonstrative embodiments, wireless communication devices 102,140, 160 and/or 180 may be capable of communicating content, data,information and/or signals via a wireless medium (WM) 103. In somedemonstrative embodiments, wireless medium 103 may include, for example,a radio channel, a cellular channel, a Global Navigation SatelliteSystem (GNSS) Channel, an RF channel, a WiFi channel, an IR channel, aBluetooth (BT) channel, and the like.

In some demonstrative embodiments, wireless communication medium 103 mayinclude a wireless communication channel over a 2.4 Gigahertz (GHz)frequency band, a 5 GHz frequency band, a millimeterWave (mmWave)frequency band, e.g., a 60 GHz frequency band, a Sub 1 Gigahertz (S1G)band, and/or any other frequency band.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 mayinclude one or more radios including circuitry and/or logic to performwireless communication between devices 102, 140, 160, 180 and/or one ormore other wireless communication devices. For example, device 102 mayinclude at least one radio 114, and/or device 140 may include at leastone radio 144.

In some demonstrative embodiments, radio 114 may include one or morewireless receivers (Rx) including circuitry and/or logic to receivewireless communication signals, RF signals, frames, blocks, transmissionstreams, packets, messages, data items, and/or data. For example, radio114 may include at least one receiver 116, and/or radio 144 may includeat least one receiver 146.

In some demonstrative embodiments, radios 114 and/or 144 may include oneor more wireless transmitters (Tx) including circuitry and/or logic totransmit wireless communication signals, RF signals, frames, blocks,transmission streams, packets, messages, data items, and/or data. Forexample, radio 114 may include at least one transmitter 118, and/orradio 144 may include at least one transmitter 148.

In some demonstrative embodiments, radios 114 and/or 144 may beconfigured to communicate over a 2.4 GHz band, a 5 GHz band, an mmWaveband, a S1G band, and/or any other band.

In some demonstrative embodiments, radios 114 and/or 144 may include, ormay be associated with, one or more antennas 107 and/or 147,respectively.

In one example, device 102 may include a single antenna 107. In anotherexample, device 102 may include two or more antennas 107.

In one example, device 140 may include a single antenna 147. In anotherexample, device 140 may include two or more antennas 147.

Antennas 107 and/or 147 may include any type of antennas suitable fortransmitting and/or receiving wireless communication signals, blocks,frames, transmission streams, packets, messages and/or data. Forexample, antennas 107 and/or 147 may include any suitable configuration,structure and/or arrangement of one or more antenna elements,components, units, assemblies and/or arrays. Antennas 107 and/or 147 mayinclude, for example, antennas suitable for directional communication,e.g., using beamforming techniques. For example, antennas 107 and/or 147may include a phased array antenna, a multiple element antenna, a set ofswitched beam antennas, and/or the like. In some embodiments, antennas107 and/or 147 may implement transmit and receive functionalities usingseparate transmit and receive antenna elements. In some embodiments,antennas 107 and/or 147 may implement transmit and receivefunctionalities using common and/or integrated transmit/receiveelements.

In some demonstrative embodiments, wireless communication devices 102,140, 160 and/or 180 may form, and/or may communicate as part of, awireless local area network (WLAN).

In some demonstrative embodiments, wireless communication devices 102,140, 160 and/or 180 may form, and/or may communicate as part of, a WiFinetwork.

In some demonstrative embodiments, wireless communication devices 102,140, 160 and/or 180 may form, and/or may communicate as part of, a WiFiDirect (WFD) network, e.g., a WiFi direct services (WFDS) network,and/or may operate as and/or perform the functionality of one or moreWFD devices.

In one example, wireless communication devices 102, 140, 160 and/or 180may include, may operate as, and/or may perform the functionality of aWiFi Direct device.

In some demonstrative embodiments, wireless communication devices 102,140, 160 and/or 180 may be capable of performing awareness networkingcommunications, for example, according to an awareness protocol, e.g., aWiFi aware protocol, and/or any other protocol, e.g., as describedbelow.

In some demonstrative embodiments, wireless communication devices 102,140, 160 and/or 180 may be capable of forming, and/or communicating aspart of, a Neighbor Awareness Networking (NAN) network, e.g., a WiFi NANor WiFi Aware network, and/or may perform the functionality of one ormore NAN devices (“WiFi aware devices”).

Some demonstrative embodiments are described herein with respect to oneor more NAN devices communicating as part of a NAN network, e.g., a NANcluster. However, embodiments are not limited to these demonstrativeembodiments, and other embodiments may be implemented with respect toany other type of devices and/or STAs communicating as part of any othergroup, service set, and/or network.

In some demonstrative embodiments, wireless communication medium 103 mayinclude a direct link, for example, a PTP link, e.g., a WiFi direct P2Plink or any other PTP link, for example, to enable direct communicationbetween wireless communication devices 102, 140, 160 and/or 180.

In some demonstrative embodiments, wireless communication devices 102,140, 160 and/or 180 may operate as and/or perform the functionality ofWFD P2P devices. For example, devices 102, 140, 160 and/or 180 may beable to operate as and/or perform the functionality of a P2P clientdevice, and/or P2P group Owner (GO) device.

In other embodiments, wireless communication devices 102, 140, 160and/or 180 may form, and/or communicate as part of, any other network,and/or may perform the functionality of any other wireless devices orstations.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 mayinclude one or more applications configured to provide, to share, and/orto use one or more services, e.g., a social application, a file sharingapplication, a media application and/or the like, for example, using anawareness network, NAN network (“WiFi Aware network”), a PTP network, aP2P network, WFD network, or any other network.

In some demonstrative embodiments, device 102 may execute an application125 and/or an application 126. In some demonstrative embodiments, device140 may execute an application 145.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 maybe capable of sharing, showing, sending, transferring, printing,outputting, providing, synchronizing, and/or exchanging content, data,and/or information, e.g., between applications and/or services ofdevices 102, 140, 160 and/or 180 and/or one or more other devices.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 mayinclude a controller configured to control one or more operations and/orfunctionalities of devices 102, 140, 160 and/or 180, for example, one ormore operations and/or functionalities of communication, e.g., awarenessnetworking communications, WiFi Aware (NAN) communication and/or anyother communication, between devices 102, 140, 160 and/or 180 and/orother devices, and/or any other functionality, e.g., as described below.

In some demonstrative embodiments, device 102 may include a controller124, and/or device 140 may include a controller 154. Controller 124 maybe configured to perform and/or to trigger, cause, instruct and/orcontrol device 102 to perform, one or more communications, to generateand/or communicate one or more messages and/or transmissions, and/or toperform one or more functionalities, operations and/or proceduresbetween devices 102, 140, 160, 180 and/or one or more other devices;and/or controller 154 may be configured to perform, and/or to trigger,cause, instruct and/or control device 140 to perform, one or morecommunications, to generate and/or communicate one or more messagesand/or transmissions, and/or to perform one or more functionalities,operations and/or procedures between devices 102, 140, 160, 180 and/orone or more other devices, e.g., as described below.

In some demonstrative embodiments, controllers 124 and/or 154 mayinclude, or may be implemented, partially or entirely, by circuitryand/or logic, e.g., one or more processors including circuitry and/orlogic, memory circuitry and/or logic, Media-Access Control (MAC)circuitry and/or logic, Physical Layer (PHY) circuitry and/or logic,baseband (BB) circuitry and/or logic, a BB processor, a BB memory,Application Processor (AP) circuitry and/or logic, an AP processor, anAP memory, and/or any other circuitry and/or logic, configured toperform the functionality of controllers 124 and/or 154, respectively.Additionally or alternatively, one or more functionalities ofcontrollers 124 and/or 154 may be implemented by logic, which may beexecuted by a machine and/or one or more processors, e.g., as describedbelow.

In one example, controller 124 may include circuitry and/or logic, forexample, one or more processors including circuitry and/or logic, tocause, trigger and/or control a wireless device, e.g., device 102,and/or a wireless station, e.g., a wireless STA implemented by device102, to perform one or more operations, communications and/orfunctionalities, e.g., as described herein.

In one example, controller 154 may include circuitry and/or logic, forexample, one or more processors including circuitry and/or logic, tocause, trigger and/or control a wireless device, e.g., device 140,and/or a wireless station, e.g., a wireless STA implemented by device140, to perform one or more operations, communications and/orfunctionalities, e.g., as described herein.

In some demonstrative embodiments, at least part of the functionality ofcontroller 124 may be implemented as part of one or more elements ofradio 114, and/or at least part of the functionality of controller 154may be implemented as part of one or more elements of radio 144.

In other embodiments, the functionality of controller 124 may beimplemented as part of any other element of device 102, and/or thefunctionality of controller 154 may be implemented as part of any otherelement of device 140.

In some demonstrative embodiments, controller 124 may perform one ormore one or more operations and/or functionalities of, and/or may causedevice 102 to perform one or more operations and/or functionalities of,a NAN engine, e.g., a NAN Discovery Engine (DE), for example to processone or more service queries and/or responses, e.g., from applicationsand/or services on devices 102 and/or 140, and/or one or more otherdevices.

In some demonstrative embodiments, controller 154 may perform one ormore one or more operations and/or functionalities of, and/or may causedevice 140 to perform one or more operations and/or functionalities of,a NAN engine, e.g., a NAN Discovery Engine (DE), for example to processone or more service queries and/or responses, e.g., from applicationsand/or services on devices 102 and/or 140, and/or one or more otherdevices.

In some demonstrative embodiments, device 102 may include a messageprocessor 128 configured to generate, process and/or access one ormessages communicated by device 102.

In one example, message processor 128 may be configured to generate oneor more messages to be transmitted by device 102, and/or messageprocessor 128 may be configured to access and/or to process one or moremessages received by device 102, e.g., as described below. In oneexample, message processor 128 may be configured to process transmissionof one or more messages from a wireless station, e.g., a wireless STAimplemented by device 102; and/or message processor 128 may beconfigured to process reception of one or more messages by a wirelessstation, e.g., a wireless STA implemented by device 102.

In some demonstrative embodiments, device 140 may include a messageprocessor 158 configured to generate, process and/or access one ormessages communicated by device 140.

In one example, message processor 158 may be configured to generate oneor more messages to be transmitted by device 140, and/or messageprocessor 158 may be configured to access and/or to process one or moremessages received by device 140, e.g., as described below. In oneexample, message processor 158 may be configured to process transmissionof one or more messages from a wireless station, e.g., a wireless STAimplemented by device 140; and/or message processor 158 may beconfigured to process reception of one or more messages by a wirelessstation, e.g., a wireless STA implemented by device 140.

In some demonstrative embodiments, message processors 128 and/or 158 mayinclude, or may be implemented, partially or entirely, by circuitryand/or logic, e.g., one or more processors including circuitry and/orlogic, memory circuitry and/or logic, Media-Access Control (MAC)circuitry and/or logic, Physical Layer (PHY) circuitry and/or logic, BBcircuitry and/or logic, a BB processor, a BB memory, AP circuitry and/orlogic, an AP processor, an AP memory, and/or any other circuitry and/orlogic, configured to perform the functionality of message processors 128and/or 158, respectively. Additionally or alternatively, one or morefunctionalities of message processors 128 and/or 158 may be implementedby logic, which may be executed by a machine and/or one or moreprocessors, e.g., as described below.

In some demonstrative embodiments, controllers 124 and/or 154, and/ormessage processors 128 and/or 158 may perform one or more operationsand/or functionalities of, and/or may cause a STA to perform one or moreoperations and/or functionalities of, a NAN MAC, which may be configuredto generate, process and/or handle one or more NAN messages, e.g., NANBeacon frames and/or NAN Service Discovery Frames (SDFs).

In some demonstrative embodiments, at least part of the functionality ofmessage processor 128 may be implemented as part of radio 114.

In some demonstrative embodiments, at least part of the functionality ofmessage processor 128 may be implemented as part of controller 124.

In other embodiments, the functionality of message processor 128 may beimplemented as part of any other element of device 102.

In some demonstrative embodiments, at least part of the functionality ofcontroller 124, radio 114, and/or message processor 128 may beimplemented by an integrated circuit, for example, a chip, e.g., aSystem in Chip (SoC). In one example, the chip or SoC may be configuredto perform one or more functionalities of radio 114. For example, thechip or SoC may include one or more elements of controller 124, one ormore elements of message processor 128, and/or one or more elements ofradio 114. In one example, controller 124, message processor 128, andradio 114 may be implemented as part of the chip or SoC.

In some demonstrative embodiments, at least part of the functionality ofmessage processor 158 may be implemented as part of radio 144.

In some demonstrative embodiments, at least part of the functionality ofmessage processor 158 may be implemented as part of controller 154.

In other embodiments, the functionality of message processor 158 may beimplemented as part of any other element of device 140.

In some demonstrative embodiments, at least part of the functionality ofcontroller 154, radio 144, and/or message processor 158 may beimplemented by an integrated circuit, for example, a chip, e.g., aSystem in Chip (SoC). In one example, the chip or SoC may be configuredto perform one or more functionalities of radio 144. For example, thechip or SoC may include one or more elements of controller 154, one ormore elements of message processor 158, and/or one or more elements ofradio 144. In one example, controller 154, message processor 158, andradio 144 may be implemented as part of the chip or SoC.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 mayoperate as and/or perform the functionality of a device or station, forexample, an awareness networking device, a NAN device, a WiFi device, aWiFi Aware device, a WFD device, a WLAN device, a Low Power Long Range(LPLR) device, and/or any other device, capable of discovering otherdevices according to a discovery protocol and/or scheme.

In some demonstrative embodiments, radios 114 and/or 144 may communicateover wireless communication medium 103 according to an awarenessnetworking scheme, for example, a discovery scheme, for example, a WiFiAware discovery scheme (“NAN discovery scheme”), and/or any otherawareness networking and/or discovery scheme, e.g., as described below.

In some demonstrative embodiments, the awareness networking scheme,e.g., NAN, may enable applications to discover services in their closeproximity. For example, the NAN technology may be a low power servicediscovery, which may, for example, scale efficiently, e.g., in denseWi-Fi environments.

In some demonstrative embodiments, a device, e.g., one or more ofwireless communication devices 102, 140, 160 and/or 180, may include oneor more blocks and/or entities to perform network awarenessfunctionality. For example, a device, e.g., one or more of devices 102,140, 160 and/or 180, may be capable of performing the functionality of aNAN device, which may include a NAN MAC and/or a Discovery Engine (DE).In one example, controllers 124 and/or 154 may be configured to performthe functionality of the discovery engine, and/or message processors 128and/or 158 may be configured to perform the functionality of the NANMAC, e.g., as described above. In another example, the functionality ofthe NAN MAC and/or the Discovery engine may be performed by any otherelement and/or entity of devices 102, 140, 160 and/or 180.

In some demonstrative embodiments, the awareness networking scheme mayinclude a discovery scheme or protocol, e.g., as described below.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 mayperform a discovery process according to the awareness networkingscheme, for example, to discover each other and/or to establish awireless communication link, e.g., a directional and/or high throughputwireless communication link and/or any other link.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 maybe configured to enable time synchronization between devices 102, 140,160, 180 and/or one or more other devices, e.g., performing thefunctionality of Wi-Fi stations (STAs), for example, such that STAs candiscover each other more efficiently and/or quickly.

Some demonstrative embodiments are described below with respect to a NANdiscovery scheme, and to NAN discovery frames of the NAN discoveryscheme. However, in other embodiments, any other discovery scheme and/ordiscovery frames may be used.

In some demonstrative embodiments, the discovery scheme may include aplurality of contention-based discovery windows (DWs).

In some demonstrative embodiments, communication during the DWs may beconfigured to enable time synchronization between Wi-Fi stations (STAs),e.g., devices 102, 140, 160 and/or 180, so that STAs can find each othermore efficiently during a DW.

In some demonstrative embodiments, devices of an awareness network,e.g., a NAN network, may form one or more clusters, e.g., in order topublish and/or subscribe for services. A NAN cluster may be defined byan Anchor Master (AM) (also referred to as a “NAN master device” or“anchor device”). In one example, the AM may include a NAN device, whichhas the highest rank in the NAN cluster.

In some demonstrative embodiments, NAN data exchange may be reflected bydiscovery frames, e.g., Publish, Subscribe and/or Follow-Up Servicediscovery frames (SDF). These frames may include action frames, whichmay be sent by a device that wishes to publish a service/application,and/or to subscribe to a published service/application at another end.

In one example, one of devices 102, 140, 160 and/or 180, e.g., device102, may operate as and/or perform the functionality of an AM. The AMmay be configured to transmit one or more beacons. Another one ofdevices 102, 140, 160 and/or 180, e.g., device 140, may be configured toreceive and process the beacons.

In one example, devices 102, 140, 160 and/or 180 may operate as and/orperform the functionality of NAN devices, e.g., belonging to a NANcluster, which may share a common set of NAN parameters, for example,including a common NAN timestamp, and/or a common time period betweenconsecutive discovery windows (DWs). The NAN timestamp may becommunicated, for example, as part of a NAN beacon frame, which may becommunicated in the NAN cluster. In one example, the NAN timestamp mayinclude a Time Synchronization Function (TSF) value, for example, acluster TSF value, or any other value.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 maybe configured to discover one another over a predefined communicationchannel (“the social channel”). In one example, the Channel 6 in the 2.4GHz band may be defined as the NAN social channel Any other additionalor alternative channel may be used as the social channel.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 maytransmit discovery frames, e.g., SDFs, during the plurality of DWs,e.g., over the social channel and/or any other channel, which may beused for discovery. For example the NAN AM may advertize the time of theDW, during which NAN devices may exchange SDFs.

In one example, devices 102, 140, 160 and/or 180 may transmit thediscovery frames to discover each other, for example, to enable usingthe one or more services provided by applications 125, 126 and/or 145.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 maycommunicate during a DW according to a contention mechanism. Forexample, devices 102, 140, 160 and/or 180 may check whether or not achannel is unoccupied prior to an attempt to transmit a discovery frameduring the discovery window.

In some demonstrative embodiments, a device of devices 102, 140, 160and/or 180, e.g., device 102, may not transmit the discovery frameduring the DW, e.g., if the channel is occupied. In some demonstrativeembodiments, for example, device 102 may transmit the discovery frameduring the DW, e.g., if the channel is unoccupied.

In some embodiments, the discovery frame may be transmitted as a groupaddressed, e.g., broadcast or multicast, discovery frame. In otherembodiments, the discovery frame may be transmitted as any other type offrame.

In some demonstrative embodiments, the discovery frame may not requirean acknowledgement frame. According to these embodiments, a transmitterof the discovery frame may not backoff a transmission of the discoveryframe.

In some demonstrative embodiments, the discovery frame transmitted bydevice 102 during the DW may be configured to enable other devices orservices that are running on other devices to discover the services ondevice 102.

In some demonstrative embodiments, devices of system 100 may utilizeavailability information, e.g., in the form of an Availability IntervalBitmap and/or Further Availability Map, for example, to allow a deviceof devices 102, 140, 160 and/or 180, to advertise its availability, forexample, in terms of at least one channel and one or more timeslots,during which the device may be available, e.g., active (“awake”), forexample, to perform post NAN activities.

In one example, the availability information may be communicated as partof an Availability Attribute, e.g., including a 32-bit bitmap for 32timeslots, for example, wherein each timeslot is 16 milliseconds (ms)long. For example, each bit that is not zero may represent a timeslot,during which a device sending the Availability Attribute is to be awakeand available to send and/or receive data in a specified method. Inanother example, the availability information may include any otheradditional or alternative information, and/or may be communicated and/orformatted in any other manner.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 maybe part of an awareness cluster, e.g., a NAN cluster.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 mayform the NAN cluster.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 maybe configured to communicate according to a Wi-Fi Aware specificationand/or any other awareness networking specification, which may beconfigured to allow a group of devices to discover otherdevices/services nearby and/or in close proximity, e.g., with low power.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 mayform the NAN cluster and may synchronize to the same clock, e.g., asdescribed above.

In one example, all devices of the NAN cluster, may converge on a timeperiod and channel, e.g., one or more DWs, to facilitate the discoveryof services of devices 102, 140, 160 and/or 180, and/or to achieve lowpower consumption, e.g., as described above.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 maybe configured to utilize NAN as a power efficient, and/or scalable, peerto peer technology, for example, to enable Wi-Fi devices to discoverdevices and/or services in their close proximity, and/or to setup one ormore data paths with one or more peer devices.

For example, devices 102, 140, 160 and/or 180 may be configured to forma NAN cluster for devices in proximity, and devices in the same NANcluster may follow the same awake time schedule, e.g., the same DWs, tofacilitate cluster formation and/or achieve low power operation, e.g.,as described above.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 maytransmit NAN Service Discovery frames, for example, during the DWs,e.g., to publish services that the devices are interested or provideand/or to subscribe to one or more published services, e.g., asdescribed above.

In some demonstrative embodiments, when a desired service is discovered,two NAN devices may set up a peer to peer NAN Data Path (NDP), forexample, over a NAN Data Link (NDL) between the two NAN devices, whichmay enable to transmit data packets between the two NAN devices.

In some demonstrative embodiments, two or more devices, for example,devices 102 and/or 140, may wish to communicate with each other. The twoor more devices may establish a Service Data Session (SDS), during whichthe two devices may set up a NAN Data Path (NDP) and/or a NAN data link(NDL), e.g., to support this SDS or more SDSs.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 maybe configured to perform one or more operations of a procedure, e.g., adata path setup procedure, for setting up a NAN service, e.g., a unicastservice and/or a multicast service.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 maybe configured to perform one or more operations of a procedure, e.g., aNAN data path (NDP) negotiation procedure, for example, to setup aunicast service, for example, to enable data transmission between twoNAN devices, for example, NAN2 devices, e.g., between devices 102 and140.

Reference is made to FIG. 2, which schematically illustratescommunications and operations according to an NDP setup procedure 200between a NAN initiator device 240 and a NAN responder device 202, whichmay be implemented, in accordance with some demonstrative embodiments.

In some demonstrative embodiments, NDP setup procedure 200 may beimplemented, for example, e.g., by devices 102, 140, 160 and/or 180(FIG. 1), for example, for a unicast service. For example, device 102(FIG. 1) may perform one or more operations, and/or one or morefunctionalities of NAN responder device 202, and/or device 140 (FIG. 1)may perform one or more operations, and/or one or more functionalitiesof NAN initiator device 240.

In some demonstrative embodiments, as shown in FIG. 2, an applicationand/or a service 245 of device 240 may request (242) to utilize, useand/or share an application and/or a service 225 of device 202.

In some demonstrative embodiments, as shown in FIG. 2, device 240 maytransmit a data path request 214 to device 202, for example, to setup anNDP between devices 202 and 240, e.g., for a unicast service.

In some demonstrative embodiments, as shown in FIG. 2, device 202 mayreceive data path request 214, and may perform one or more operations215 to confirm to establish the NDP for the unicast service betweendevices 202 and 240.

In some demonstrative embodiments, as shown in FIG. 2, device 202 maytransmit a data path response 216 to device 240, for example, tocomplete to establish the NDP for the unicast service between devices202 and 240.

In some demonstrative embodiments, as shown in FIG. 2, device 240 mayreceive data path response 216, and may perform one or more operations247 to complete to establish the NDP for the unicast service betweendevices 202 and 240.

In some demonstrative embodiments, as shown in FIG. 2, devices 202 and240 may perform data communication 218 between devices 202 and 240, forexample, over the NDP for the unicast service between devices 202 and240.

Referring back to FIG. 1, in some demonstrative embodiments, devices102, 140, 160 and/or 180 may be configured to perform one or moreoperations of a procedure, e.g., a NAN multicast service group (NMSG)procedure, for example, to form an NMSG, e.g., for providing a multicastservice.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 maybe configured to operate as, and/or perform the functionality of, anenroller, and/or to operate as, and/or perform the functionality of, anenrollee.

In some demonstrative embodiments, the enroller may be configured toprovide information for the NMSG, and/or to provide scheduleinformation.

In some demonstrative embodiments, the enrollee may be configured, forexample, to enroll to the NMSG, for example, through the enroller, e.g.,to receive the multicast service.

In some demonstrative embodiments, the enrollee may be configured, forexample, to enroll to the NMSG, for example, explicitly or implicitly,e.g., as described below.

Reference is made to FIG. 3, which schematically illustratescommunications and operations between a NAN enroller device 302 and aNAN enrollee device 340 according to an NMSG enrolment procedure 300,which may be implemented, in accordance with some demonstrativeembodiments.

In some demonstrative embodiments, NMSG enrolment procedure 300 mayinclude an NMSG explicit enrolment, for example, for a multicastservice.

In some demonstrative embodiments, NMSG enrolment procedure 300 may beimplemented, for example, e.g., by devices 102, 140, 160 and/or 180(FIG. 1), for example, for a multicast service. For example, device 102(FIG. 1) may perform one or more operations, and/or one or morefunctionalities of NAN enroller device 302, and/or device 140 (FIG. 1)may perform one or more operations, and/or one or more functionalitiesof NAN enrollee device 340.

In some demonstrative embodiments, as shown in FIG. 3, an applicationand/or a service 345 of device 340 may request (342) to subscribe to aservice, for example, for a multicast service 325, which may bepublished by enroller 302.

In some demonstrative embodiments, as shown in FIG. 3, enroller 302 maypublish (311) the multicast service.

In some demonstrative embodiments, as shown in FIG. 3, device 340 maytransmit an NMSG request 314 to device 302, for example, to enroll tothe NMSG.

In some demonstrative embodiments, as shown in FIG. 3, device 302 mayreceive NMSG request 314, and may perform one or more operations 315,for example, to enroll to the NMSG.

In some demonstrative embodiments, as shown in FIG. 3, device 302 maytransmit an NMSG response 316 to device 340, for example, to completethe enrolment to the NMSG.

In some demonstrative embodiments, as shown in FIG. 3, device 340 mayreceive NMSG response 316, and may perform one or more operations 347 tocomplete the enrolment for the multicast service.

In some demonstrative embodiments, as shown in FIG. 3, devices 302 maytransmit multicast data 318, which may be received by device 340.

Reference is made to FIG. 4, which schematically illustratescommunications and operations between a NAN enroller device 402 and aNAN enrollee device 440 according to an NMSG enrolment procedure 400,which may be implemented, in accordance with some demonstrativeembodiments.

In some demonstrative embodiments, NMSG enrolment procedure 400 mayinclude an NMSG implicit enrolment, for example, for a multicastservice.

In some demonstrative embodiments, NMSG enrolment procedure 400 may beimplemented, for example, e.g., by devices 102, 140, 160 and/or 180(FIG. 1), for example, for a multicast service. For example, device 102(FIG. 1) may perform one or more operations, and/or one or morefunctionalities of NAN enroller device 402, and/or device 140 (FIG. 1)may perform one or more operations, and/or one or more functionalitiesof NAN enrollee device 440.

In some demonstrative embodiments, as shown in FIG. 4, an applicationand/or a service 445 of device 440 may request (442) to subscribe to aservice, for example, for a multicast service 425, which may bepublished by enroller 402.

In some demonstrative embodiments, as shown in FIG. 4, enroller 402 maysend a message 411 to publish the multicast service.

In some demonstrative embodiments, message 411 may include a publishmessage or an NMSG response, for example, to enable devices, e.g.,device 440, to use the multicast service.

In some demonstrative embodiments, as shown in FIG. 4, device 440 mayreceive message 411, and may perform one or more operations 417 to usethe multicast service.

In some demonstrative embodiments, as shown in FIG. 4, devices 402 maytransmit multicast data 418, which may be received by device 440.

Referring back to FIG. 1, in some demonstrative embodiments, when an NDPis setup, for example, between devices 102 and/or 140, e.g., for aunicast service, a NAN device, e.g., device 102 and/or device 140, maybe required, for example, to maintain resources, such as, for example,scheduling awake slots for data communication, of the unicast service.

In some demonstrative embodiments, when setting up a multicast service,for example, between devices 102, 140, 160 and/or 180, for example, whena NAN device starts or enrolls to an NMSG, the NAN device may berequired, for example, to maintain resources, such as, for example,scheduling awake slots, e.g., for data communication.

In some demonstrative embodiments, it may be possible that at least oneof the NAN devices may be unavailable, or out of service, for example,due to mobility, device hardware error, e.g., out of battery, unexpectedsoftware error, e.g., if a user shuts down the service, and/or for oneor more additional or alternative reasons.

In some demonstrative embodiments, it may be possible that a NAN devicemay want to terminate the service, for example, because the service isno longer required, e.g., if a printing service is no longer required bythe NAN device, and/or for any other reason.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 maybe configured to implement one or more operations of a terminationprocedure, for example, to enable and/or allow a NAN device to terminatea NAN service setup, e.g., for a unicast service and/or a multicastservice, for example, to terminate the NMSG enrolment, e.g., asdescribed below.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 maybe configured to implement one or more operations of a terminationprocedure, for example, to enable a NAN device to terminate the NDPsetup for a unicast service, e.g., as described below.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 maybe configured to implement one or more operations of a terminationprocedure, for example, to enable a NAN device to terminate an NMSGenrolment for a multicast service, e.g., as described below.

In some demonstrative embodiments, allowing the NAN device to terminatethe NDP setup and/or the NMSG enrolment may enable the NAN device, forexample, at least to free one or more resources, which would otherwisebe maintained by the NAN device for a unicast service and/or a multicastservice.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 maybe configured to perform one or more operations of a terminationprocedure, e.g., with respect to a unicast service and/or a multicastservice, which may utilize an idle period, e.g., a maximal (Max) IdlePeriod, e.g., as described below.

In some demonstrative embodiments, the Max Idle Period may be determinedby and/or announced by a NAN device participating in a NAN data path,e.g., as described below.

In some demonstrative embodiments, when establishing a NAN data path, afirst NAN device, e.g., device 102, may operate in a role of aPublisher, and a second NAN device, e.g., device 140, may operate in arole of a Subscriber.

In one example, at least one of the devices, e.g., the Publisher, may beallowed to announce the Max Idle Period, during which the Publisher isto keep the data path without termination.

In another example, at least one of the devices, e.g., the Subscriber,may be allowed to announce the Max Idle Period for the Subscriber, forexample, to keep the data path without termination.

In some demonstrative embodiments, either one or both publisher orsubscriber may be allowed to announce the Max Idle Period, e.g., duringthe data path setup. For example, allowing both the publisher and thesubscriber to announce the Max Idle Period may solve a technicalproblem, e.g., that each or both sides may lose track of the other side.Hence, the problem itself may be a two side problem, rather than a oneside problem.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 maybe configured to perform one or more operations of a terminationprocedure, e.g., with respect to a unicast service and/or a multicastservice, which may utilize an activity timer, e.g., as described below.

In some demonstrative embodiments, an activity timer may be used, e.g.,by the Subscriber, to track an activity of a unicast or a multicastservice. For example, expiration of the activity timer may serve as anindication that the service should be terminated, e.g., as describedbelow.

In some demonstrative embodiments, the activity timer may be used by theSubscriber to track an activity of a unicast service and/or a multicastservice. For example, expiration of the activity timer may indicate thatthe service should be terminated.

In some demonstrative embodiments, the Subscriber may want to, and/ormay be allowed to, transmit a Keep-alive frame, for example, before theactivity timer expires, for example, to indicate that the service shouldnot be terminated, e.g., as described below.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 maybe configured to perform one or more operations of a terminationprocedure, e.g., with respect to a unicast service and/or a multicastservice, which may utilize a termination frame, e.g., as describedbelow.

In some demonstrative embodiments, a NAN device, e.g., device 102, maybe configured to be allowed to send a termination frame to inform a peerNAN device, e.g., device 140, that a unicast or multicast service is tobe terminated, e.g., as described below.

In some demonstrative embodiments, a termination procedure to terminatea multicast service may include a termination process, which may beconfigured for an enroller and/or an enrollee, for example, in the casethat multiple enrollers exist in an NMSG (“many-to-many”), or only oneenroller (“one-to-many”) exists in an NMSG, e.g., as described below.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 maybe configured to implement one or more operations of a terminationprocedure (“unicast termination”) configured for a unicast service,e.g., as described below.

In some demonstrative embodiments, devices 102 and 140 may setup an NDPover an NDL for a unicast service.

In some demonstrative embodiments, both a Publisher and a Subscriber ofthe unicast service may be allowed to publish the Max Idle Period.

In some demonstrative embodiments, a device performing a role of thePublisher, e.g., device 102, may be configured to publish the Max IdlePeriod.

In some demonstrative embodiments, a device performing a role of theSubscriber, e.g., device 140, may be configured to publish the Max IdlePeriod.

In some demonstrative embodiments, the Max Idle Period may be includedin an NDP attribute of a NDP response message. In other embodiments, theMax Idle Period may be included in any other additional or alternativeattribute and/or message.

In some demonstrative embodiments, the Max Idle period may be includedin an NDL attribute, e.g., as described below.

In some demonstrative embodiments, the Publisher, e.g., device 102, maybe configured to terminate the NDP, for example, if the Publisher hasnot received any frame from the subscriber, e.g., device 140, within theannounced Max Idle Period.

In some demonstrative embodiments, the subscriber, e.g., device 140, maybe configured to terminate the NDP, for example, if the subscriber,e.g., device 140, has not received any frame from the publisher, e.g.,device 102, within the announced Max Idle Period.

In some demonstrative embodiments, if the publisher, e.g., device 102,has not received any frame from the subscriber, e.g., device 140, in theannounced Max Idle period, then the publisher may terminate all the NDPsestablished with the subscriber.

In some demonstrative embodiments, if the subscriber, e.g., device 140,has not received any frame from the publisher, e.g., device 102, in theannounced Max Idle period, then the subscriber may terminate all theNDPs established with the publisher.

In some demonstrative embodiments, an activity timer (also referred toas a “termination timer”) may be kept, for example, for each NAN device,e.g., for each NDL, to trace the activity over the NDL.

In some demonstrative embodiments, an activity timer may be kept, forexample, for each NAN device, e.g., for each NDP, to trace the activityover the NDP.

For example, devices 102 and 140 may setup a unicast service over an NDPof an NDL, the NDL may include one or more other NDPs for one or moreunicast services between devices 102 and 140. According to this example,devices 102 and/or 140 may keep an activity timer for an NDP, e.g., foreach NDP, and/or an activity timer for the NDL.

In some demonstrative embodiments, the activity timer value may be setto be equal, for example, to the Max Idle Period, e.g., for thepublisher or the subscriber e.g., device 102 or 140.

In some demonstrative embodiments, the subscriber e.g., device 140, maybe allowed to announce an activity timer value of the subscriber, forexample, in an NDP attribute of an NDP request message, and/or in anyother attribute and/or message, e.g., as described below.

In some demonstrative embodiments, the activity timer maintained by aNAN device, e.g., device 102, may be reset by the NAN device, forexample, if activity from any NDP of the NDL is observed, e.g., if theNAN device transmits to a peer NAN device, e.g., device 140, and/orreceives from the other NAN device one or more messages, over the NDL.For example, the activity may include any transmission from the peerdevice.

In some demonstrative embodiments, when the activity timer expires, theNAN device, e.g., device 102, may be allowed to terminate the NDP. Forexample, the NAN device may send an NDP termination frame to inform apeer NAN device, e.g., device 140, that the NDP is terminated, e.g., asdescribed below.

In some demonstrative embodiments, when the activity timer expires, theNAN device, e.g., device 102, may be allowed terminate the NDP, and maysend a data path termination NAN Action Frame (NAF) with a correspondingNDP attribute to inform the peer device, e.g., device 140, that the NDPis to be terminated.

In some demonstrative embodiments, a NAN device, for example, each NANdevice, e.g., device 102, may maintain a keep alive timer, e.g., foreach NDL to trace the activity, e.g., as described below.

For example, device 102 may provide one or more unicast services todevices 140, 160 and/or 180 over one or more NDLs between device 102 anddevices 140, 160 and/or 180. According to this example, device 102 maymaintain a keep-alive timer for one or more of the NDLs, e.g., even foreach NDL of the one or more NDLs.

In some demonstrative embodiments, for example, for the publisher, e.g.,device 102, the keep-alive timer value may be equal to the announced MaxIdle period from the subscriber, e.g., device 140.

In some demonstrative embodiments, for example, for the subscriber,e.g., device 140, the keep-alive timer value may be equal to theannounced Max Idle period from the publisher, e.g., device 102.

In some demonstrative embodiments, a NAN device, e.g., device 140, maytransmit a keep-alive frame to a peer device, e.g., device 102, beforethe keep-alive timer is expired, for example, to keep an NDL betweendevices 102 and 140 active, e.g., if there is no data packet to becommunicated over the NDL.

In some demonstrative embodiments, the keep-alive frame can be any framethat includes the peer device, e.g., device 120, as an intendedreceiver.

In some demonstrative embodiments, the keep-alive frame may include aunicast data packet frame, and/or any other frame.

In some demonstrative embodiments, a device, e.g., device 102, thatreceives the keep-alive frame, e.g., from device 140, may reset itsactivity timer.

In some demonstrative embodiments, a device, e.g., device 140, thattransmitted the keep-alive frame and received a corresponding ACK framefrom the peer device, e.g., device 102, may reset its keep-alive timer.

In some demonstrative embodiments, a NAN Device, for example, a NAN2device, e.g., device 140, may include the Max Idle Period field in theNDL attribute to indicate the time period during which a peer NANdevice, for example a peer NAN2 device, e.g., device 102, can refrainfrom transmitting over the NDL without being terminated.

In some demonstrative embodiments, for example, if a NAN Device, forexample, a NAN2 device, e.g., device 140, includes the Max Idle Periodfield in the NDL attribute, the NAN device, e.g., the NAN2 device, maybe allowed to terminate all the NDPs over the NDL established with thepeer NAN device, for example, a peer NAN2 device, e.g., device 102, ifthe NAN device has not received any frame from the peer NAN device for atime period greater than or equal to the time specified by the Max IdlePeriod field.

In some demonstrative embodiments, for example, devices 102 and 140 maysetup an NDL between devices 102 and 140 and one or more NDPs over theNDL, for example, to provide one or more unicast services betweendevices 102 and 140.

In some demonstrative embodiments, device 102 may perform a role of apublisher of a unicast service of the one or more unicast services.

In some demonstrative embodiments, device 140 may perform a role of asubscriber of the unicast service.

In some demonstrative embodiments, devices 102 and/or 140 may beconfigured to transmit a message including an NDL attributecorresponding to an NDL between devices 102 and 140.

In some demonstrative embodiments, device 102 may be configured totransmit the message, e.g., as the publisher of the unicast service,e.g., as described below.

In some demonstrative embodiments, device 140 may be configured totransmit the message, e.g., as the subscriber of the unicast service,e.g., as described below.

In some demonstrative embodiments, the message, e.g., from device 140 todevice 102, may include, a Data Path request, e.g., as described below.

In some demonstrative embodiments, controller 154 may be configured tocontrol cause, and/or trigger device 140 to transmit a message includingan NDL attribute corresponding to an NDL with device 102.

In some demonstrative embodiments, the NDL attribute may include aMaximal (Max) Idle Period field to indicate a time period during whichdevice 102 is allowed to refrain from transmitting over the NDL withoutthe NDL being terminated, e.g., by device 140.

In some demonstrative embodiments, controller 154 may be configured tocontrol cause, and/or trigger device 140 to transmit the message, forexample, during establishment of the NDP.

In some demonstrative embodiments, device 102 may receive the messageincluding the max idle period from device 102, for example, during theestablishment of the NDP.

In some demonstrative embodiments, device 102 may be allowed to refrainfrom transmitting over the NDL without the NDL being terminated, e.g.,during the max idle period.

In some demonstrative embodiments, device 140 may be configured toselect not to terminate the NDL during the max idle period.

In some demonstrative embodiments, controller 154 may be configured toallow device 140 to terminate all NDPs over the NDL, for example, if anyframe is not received from the second NAN device, e.g., from device 102,for example, for at least the time period indicated by the Max IdlePeriod field in the message from device 140.

In some demonstrative embodiments, device 102, e.g., as the publisher ofthe unicast service, may be configured to transmit the message to device140, for example, as the subscriber of the message, e.g., as describedbelow.

In some demonstrative embodiments, the message, e.g., from device 102 todevice 140, may include a Data Path response, e.g., as described below.

In some demonstrative embodiments, controller 124 may be configured tocontrol cause, and/or trigger device 102 to transmit the messageincluding the NDL attribute corresponding to the NDL with device 140.

In some demonstrative embodiments, the NDL attribute may include the MaxIdle Period field to indicate a time period during which device 140 isallowed to refrain from transmitting over the NDL without the NDL beingterminated, e.g., by device 102.

In some demonstrative embodiments, controller 124 may be configured tocontrol cause, and/or trigger device 102 to transmit the message, forexample, during establishment of an NDP.

In some demonstrative embodiments, device 140 may receive the messageincluding the max idle period from device 102, for example, during theestablishment of the NDP.

In some demonstrative embodiments, device 140 may be allowed to refrainfrom transmitting over the NDL without the NDL being terminated, e.g.,during the max idle period.

In some demonstrative embodiments, device 102 may be configured toselect not to terminate the NDL during the max idle period.

In some demonstrative embodiments, controller 124 may be configured toallow device 102 to terminate all NDPs over the NDL, for example, if anyframe is not received from device 140, e.g., for at least the timeperiod indicated by the Max Idle Period field in the message from device102.

In some demonstrative embodiments, a device of devices 102, 140, 160,and/or 180 may be configured to keep an activity timer.

In some demonstrative embodiments, device 102, e.g., as the publisher ofthe unicast service, may be configured to keep an activity timer, forexample, to trace an activity over the NDL, e.g., as described below.

In some demonstrative embodiments, device 140, e.g., as the subscriberof the unicast service, may be configured to keep an activity timer, forexample, to trace an activity over the NDL, e.g., as described below.

In some demonstrative embodiments, controller 154 may be configured tocontrol cause, and/or trigger device 140 to update an activity timer,for example, based on detected activity over at least one NDP over theNDL.

In some demonstrative embodiments, controller 154 may be configured tocontrol cause, and/or trigger device 140 to allow device 140 toterminate the NDL, for example, based on expiration of the activitytimer.

In some demonstrative embodiments, device 102 may be configured totransmit a keep-alive frame to device 140, for example, to indicate todevice 140 that the NDPs over the NDL are not to be terminated.

In some demonstrative embodiments, device 102 may be configured tomaintain a keep-alive timer, for example, to count a time period to senda keep-alive frame to device 140, e.g., as described below.

In some demonstrative embodiments, controller 124 may be configured tocontrol cause, and/or trigger device 102 to transmit the keep-aliveframe prior to expiration of the keep alive timer of device 102, forexample, to indicate that the NDP is not to be terminated, e.g., bydevice 140.

In some demonstrative embodiments, device 140 may receive the keep-alivemessage from device 102.

In some demonstrative embodiments, controller 154 may be configured tocontrol cause, and/or trigger device 140 to update the activity timer ofdevice 140, for example, based on a keep-alive frame from device 102,that indicates that the NDPs over the NDL are not to be terminated. Forexample, device 154 may reset the activity timer to its initial value,for example, upon receiving the keep alive frame from device 102.

In some demonstrative embodiments, device 102, e.g., as the publisher ofthe unicast service, may be configured to keep an activity timer, forexample, to trace an activity over the NDL, e.g., as described below.

In some demonstrative embodiments, controller 124 may be configured tocontrol cause, and/or trigger device 102 to update the activity timer ofdevice 102, for example, based on detected activity over at least oneNDP over the NDL.

In some demonstrative embodiments, controller 124 may be configured tocontrol cause, and/or trigger device 102 to allow device 102 toterminate the NDL, for example, based on expiration of the activitytimer of device 102.

In some demonstrative embodiments, device 140 may be configured totransmit a keep-alive frame to device 102, for example, to indicate todevice 102 that the NDPs over the NDL are not to be terminated.

In some demonstrative embodiments, device 140 may be configured tomaintain a keep-alive timer, for example, to count a time period to senda keep-alive frame to device 102, e.g., as described below.

In some demonstrative embodiments, controller 154 may be configured tocontrol cause, and/or trigger device 140 to transmit the keep-aliveframe prior to expiration of the keep alive timer of device 140, forexample, to indicate that the NDP is not to be terminated, e.g., bydevice 102.

In some demonstrative embodiments, device 102 may receive the keep-alivemessage from device 140.

In some demonstrative embodiments, controller 124 may be configured tocontrol cause, and/or trigger device 102 to update the activity timer ofdevice 102, for example, based on the keep-alive frame from device 140,that indicates that the NDPs over the NDL are not to be terminated. Forexample, device 124 may reset the activity timer of device 102 to itsinitial value, for example, upon receiving the keep-alive frame fromdevice 140.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 maybe configured to perform one or more operations of a terminationprocedure, e.g., with respect to the unicast service, which may utilizea termination frame, e.g., as described below.

In some demonstrative embodiments, a first device of devices 102, 140,160 and/or 180, e.g., device 102, may be configured to set up a NANservice path with at least one second NAN device of devices 102, 140,160 and/or 180, e.g., device 140.

In some demonstrative embodiments, the NAN service path may include anNDP of a unicast service between devices 102 and 140.

In some demonstrative embodiments, the NDP may be over an NDL betweenthe devices 102 and 140.

In some demonstrative embodiments, a first device of devices 102, 140,160 and/or 180, may be configured to transmit a termination frame to thesecond NAN device of devices 102, 140, 160 and/or 180, for example, toterminate a participation of the first device in the NDP.

In some demonstrative embodiments, the termination frame may beconfigured to indicate that NDPs over the NDL between devices 102 and140 are to be terminated.

In some demonstrative embodiments, the termination frame may include aNAN action frame (NAF) including a data path termination subtype field,e.g., as described below.

In some demonstrative embodiments, the termination frame may include anNDP attribute, e.g., as described below.

In some demonstrative embodiments, the NDP attribute may include a typefield including a value to indicate termination.

In some demonstrative embodiments, device 102 may perform thefunctionality of the publisher of the NDP, and/or device 104 may performthe functionality of the subscriber of the NDP.

In some demonstrative embodiments, device 102 as the publisher of theNDP may be configured to transmit the termination frame to device 140 asthe subscriber of the NDP, for example, to terminate a participation ofthe publisher, e.g., device 102, in the NDP, e.g., as described below.

In some demonstrative embodiments, device 102 may terminate the NDL, forexample, when all the NDPs over the NDL are terminated.

In some demonstrative embodiments, controller 124 may be configured tocontrol cause, and/or trigger device 102 to determine the NDL is to beterminated, for example, when all the NDPs over the NDL are terminated.

In some demonstrative embodiments, device 140 as the subscriber of theNDP may be configured to transmit the termination frame to device 102 asthe publisher of the NDP, for example, to terminate a participation ofthe subscriber, e.g., device 140, in the NDP, e.g., as described below.

In some demonstrative embodiments, device 140 may terminate the NDL, forexample, when all the NDPs over the NDL are terminated.

In some demonstrative embodiments, controller 154 may be configured tocontrol cause, and/or trigger device 140 to determine the NDL is to beterminated, for example, when all the NDPs over the NDL are terminated.

In some demonstrative embodiments, device 140 may be configured to beallowed to terminate the NDPs over the NDL, for example, beforeexpiration of the activity timer of device 140, e.g., as describedbelow.

In some demonstrative embodiments, device 102 may be configured to beallowed to terminate the NDPs over the NDL, for example, beforeexpiration of the activity timer of device 102, e.g., as describedbelow.

In some demonstrative embodiments, a NAN device, e.g., device 102, maybe allowed to send a termination frame before the activity timer isexpired, for example, to inform a peer device, e.g., device 140 that anNDP over the NDL is to be terminated, e.g., for any reason.

In some demonstrative embodiments, a NAN device, e.g., device 102, maybe allowed to send a data path termination NAF with a corresponding NDPattribute, for example, before the activity timer is expired, forexample, to inform the peer device, e.g., device 140, that the NDP is tobe terminated.

In some demonstrative embodiments, a NAN device, e.g., device 140, maybe configured to terminate an NDP, for example, if a termination framefor the NDP is received by the NAN device, e.g., from a peer device,e.g., device 102.

In some demonstrative embodiments, a NAN device, e.g., device 102, maybe configured to terminate an NDP, for example, if a termination framefor the NDP is transmitted from the NAN device to the peer device, e.g.,device 140.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 maybe configured to implement one or more operations of a terminationprocedure, which may utilize a termination frame, for example, to enablea NAN device to terminate an NMSG enrolment for multicast service, e.g.,as described below.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 maybe configured to implement the termination process using a terminationframe, which may be configured for an enroller and/or an enrollee, forexample, in the case that multiple enrollers exist in an NMSG(“many-to-many”), or only one enroller (one-to-many) exists in an NMSG,e.g., as described below.

In some demonstrative embodiments, a first device of devices 102, 140,160 and/or 180 may be configured to set up a NAN service path with atleast one second NAN device of devices 102, 140, 160 and/or 180.

In some demonstrative embodiments, the NAN service path may include anNMSG.

In some demonstrative embodiments, the first NAN device may include anenroller of the NMSG.

In one example, device 102 may perform the functionality of the enrollerof the NMSG.

In some demonstrative embodiments, the NMSG may include a one-to-manyNMSG.

In some demonstrative embodiments, the first NAN device may include asingle enroller of the NMSG.

In one example, device 102 may perform the functionality of the singleenroller of the one-to-many NMSG, and/or devices 140, 160 and/or 180 mayperform the functionality of the enrollees of the one-to-many NMSG.

In some demonstrative embodiments, the NMSG may include a many-to-manyNMSG including a plurality of enrollers.

In some demonstrative embodiments, the first NAN device may include anenroller of the plurality of enrollers.

In one example, devices 102 and 160 may perform the functionality of theplurality of enrollers, and/or devices 140 and 180 may perform thefunctionality of the enrollees.

In some demonstrative embodiments, a first device of devices 102, 140,160 and/or 180 may be configured to transmit a termination frame to asecond NAN device of devices 102, 140, 160 and/or 180, for example, toterminate a participation of the first device in the NMSG.

In some demonstrative embodiments, an enroller, e.g., device 102, of theNMSG may be configured to send the termination frame, for example, toterminate the participation of the enroller in the NMSG, e.g., asdescribed below.

In some demonstrative embodiments, controller 124 may be configured tocontrol cause, and/or trigger device 102 to transmit a termination frameto terminate a participation of device 102 in the NMSG.

In some demonstrative embodiments, the termination frame may include aNAN action frame (NAF) including a data path termination subtype field,e.g., as described below.

In some demonstrative embodiments, the termination frame may include anNMSG attribute.

In some demonstrative embodiments, the NMSG attribute may include a typefield including a value to indicate termination, e.g., as describedbelow.

In some demonstrative embodiments, the NMSG attribute may include anNMSG Identifier (ID) corresponding to the NMSG, e.g., as describedbelow.

In some demonstrative embodiments, the termination frame may include aNAN availability attribute.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 maybe configured to implement one or more operations of a terminationprocedure (“multicast termination”) configured for a multicast service,for example, in addition to and/or instead of utilizing a terminationframe, e.g., as described below.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 maybe configured to implement one or more operations of a terminationprocedure (“multicast enroller termination”) configured for an enroller,e.g., device 102, of a multicast service, e.g., as described below.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 maybe configured to implement one or more operations of a terminationprocedure (“multicast enrollee termination”) configured for an enrolleeof a multicast service, e.g., as described below.

In some demonstrative embodiments, one or more separate terminationprocedures and/or operations may be configured for the enroller and theenrollee, e.g., as described below.

In some demonstrative embodiments, the multicast enroller terminationprocedure and/or the multicast enrollee termination procedure may beconfigured for a case when there is only one enroller (one-to-many),and/or for a case where there are multiple enrollers (many-to-many),e.g., as described below.

In some demonstrative embodiments, device 102 may perform thefunctionality of an enroller, e.g., in the one-to-many case and/or inthe many-to-many case, e.g., as described below.

In some demonstrative embodiments, device 140 may perform thefunctionality of an enrollee, e.g., in the one-to-many case and/or inthe many-to-many case, e.g., as described below.

In some demonstrative embodiments, according to a multicast enrolleetermination procedure, for example, for an enrollee, in a one-to-manycase, a timer may be kept by a NAN device, for example, for each NMSG,e.g., to trace the activity over the NMSG.

In some demonstrative embodiments, the NAN device may reset the timer,for example, if activity from the NMSG is observed.

In some demonstrative embodiments, when the timer expires, the enrollee,e.g., device 140, may terminate the NMSG, and may send a terminationframe to inform the enroller, e.g., device 102, that the enrollee, e.g.,device 140, is to terminate participation of the enrollee in the NMSG,for example, if explicit enrollment is used by the enrollee.

In some demonstrative embodiments, when the timer expires, the enrollee,e.g., device 140, may terminate participation of the enrollee in theNMSG, e.g., even without sending a termination frame to the enroller,for example, if implicit enrollment is used by the enrollee, e.g.,device 140.

In some demonstrative embodiments, a timer equal to the Max Idle Periodmay be kept by the enroller, e.g., device 102, and/or the enrollee,e.g., device 140.

In some demonstrative embodiments, an NMSG enroller, e.g., device 102,and/or an NMSG enrollee, e.g., device 140, may transmit a keep-aliveframe before the keep-alive timer is expired, for example, to keep theNMSG active, e.g., if there is no data packet communicated in the NMSG.

In some demonstrative embodiments, the keep-alive frame may be amulticast data packet frame, and/or any other frame.

In some demonstrative embodiments, an Enrollee, e.g., device 140, thatreceives the keep-alive frame may reset its timer.

In some demonstrative embodiments, the enrollee, e.g., device 140, maybe allowed to send the termination frame before the timer is expired,for example, to inform the enroller, e.g., device 102, in the NMSG thatthe enrollee, e.g., device 140, is to terminate participation of theenrollee in the NMSG, e.g., if explicit enrollment is used.

In some demonstrative embodiments, the enrollee, e.g., device 140, maybe allowed to terminate participation of the enrollee in the NMSG, forexample, if a termination frame is received from the enroller, e.g.,device 102.

In some demonstrative embodiments, according to a multicast enrollertermination procedure, for example, for an enroller in a one-to-manycase, an NMSG enroller, e.g., device 102, may operate in a role of apublisher, and may publish the Max Idle Period.

In some demonstrative embodiments, the Max Idle period may be includedin an NMSG attribute of an NMSG response message or publish message,and/or in any other attribute and/or message.

In some demonstrative embodiments, the enroller, e.g., device 102, mayremove the enrollee, e.g., device 140, from the NMSG, and/or mayterminate the NMSG, for example, if the enroller, e.g., device 102, hasnot received any frame from the enrollee, e.g., device 140, during theMax Idle period.

In some demonstrative embodiments, a timer equal to the Max Idle Periodmay be kept by the enroller, e.g., device 102, and/or the enrollee,e.g., device 140.

In some demonstrative embodiments, the enroller, e.g., device 102, maysend a data path termination frame, for example, with an NMSG attribute,to terminate an NMSG, for example, if the enroller wants to terminatethe NMSG.

In some demonstrative embodiments, an NMSG enroller, e.g., device 102,and/or an NMSG enrollee, e.g., device 140, may transmit a keep-aliveframe before the keep-alive timer is expired, for example, to keep theNMSG active, e.g., if there is no data packet communicated during themax idle period.

In some demonstrative embodiments, the keep-alive frame may be amulticast data packet frame and/or any other frame.

In some demonstrative embodiments, the enroller, e.g., device 102, maynot be required to keep, e.g., does not keep, a timer for the NMSG, forexample, because the enroller may be the sole controller in aone-to-many case, and, accordingly, the enroller may simply terminatethe NMSG when the enroller wants to terminate the NMSG, e.g., based onany suitable criteria.

In some demonstrative embodiments, the enroller, e.g., device 102, mayterminate the NMSG, for example, if a termination frame is received fromthe enrollee, e.g., device 140.

In some demonstrative embodiments, according to a multicast enrolleetermination procedure, for example, for an enrollee, in a many-to-manycase, an activity timer may be kept by the enrollee, e.g., device 140,for example, for each NMSG, e.g., to trace the activity in the NMSG.

In some demonstrative embodiments, the activity timer may be reset bythe enrollee, for example, if activity from the NMSG is observed.

In some demonstrative embodiments, when the activity timer expires, theenrollee, e.g., device 140, may terminate the NMSG, and may send atermination frame to inform neighboring enrollers, e.g., device 180,that the enrollee, e.g., device 140, terminates the NMSG, for example,if explicit enrollment is used by the enrollee.

In some demonstrative embodiments, when the activity timer expires, theenrollee, e.g., device 140, may simply terminate the participation ofthe enrollee in the NMSG, for example, even without sending atermination frame, for example, if implicit enrollment is used by theenrollee.

In some demonstrative embodiments, a keep-alive timer equal to the MaxIdle Period may be kept by the enroller, e.g., device 102, and/or theenrollee, e.g., device 140.

In some demonstrative embodiments, an NMSG enroller, e.g., device 102,and/or an NMSG enrollee, e.g., device 140, may transmit a keep-aliveframe before the keep-alive timer expires, for example, to keep the NMSGactive, e.g., if there is no data packet during the Max Idle Period.

In some demonstrative embodiments, the keep-alive frame may be amulticast data packet frame, or any other frame.

In some demonstrative embodiments, an enrollee, e.g., device 140, thatreceives the keep-alive frame may reset its activity timer.

In some demonstrative embodiments, the enrollee, e.g., device 140, maybe allowed to send a termination frame before the timer is expired, forexample, to inform the neighboring enrollers, e.g., device 180, in theNMSG that the enrollee, e.g., device 140, is terminating participationof the enrollee in the NMSG, e.g., if explicit enrollment is used.

In some demonstrative embodiments, the enrollee, e.g., device 140, mayterminate the NMSG, for example, if a termination frame is received froma neighboring enroller, e.g., device 160.

For example, the enrollee, e.g., device 140, may be allowed to determineand/or select whether or not to terminate participation of the enrolleein the NMSG upon receipt of a termination frame from the neighboringenroller, for example, as the enrollee, e.g., device 140, may still seeother neighboring enrollers in the NMSG, e.g., device 140 may still seedevice 102 as an enroller.

In some demonstrative embodiments, according to a multicast enrollertermination procedure, for example, for an enroller in a many-to-manycase, an NMSG enroller, e.g., device 102, for example, performing a roleof a publisher, may publish the Max Idle period.

In some demonstrative embodiments, the Max Idle period may be includedin an NMSG attribute of an NMSG response message or a publish message,and/or any other attribute and/or message.

In some demonstrative embodiments, for example, if the enroller, e.g.,device 102, has not received any frame from the enrollee, e.g., device140, during the Max Idle period, the enroller, e.g., device 102, mayremove the enrollee, e.g., device 140, from the NMSG, or may terminatethe NMSG.

In some demonstrative embodiments, a timer equal to the Max Idle Periodmay be kept by the enroller, e.g., device 102, and/or the enrollee,e.g., device 140.

In some demonstrative embodiments, the enroller, e.g., device 102, ofthe NMSG may be configured to send a termination frame, and to terminatethe NMSG, for example, if the enroller, e.g., device 102, wants toterminate the NMSG.

In some demonstrative embodiments, an NMSG enroller, e.g., device 102,and/or an NMSG enrollee, e.g., device 140, may transmit a keep-aliveframe before the timer expires, for example, to keep the NMSG active,e.g., if there is no data packet to transmit. The keep-alive frame maybe a multicast data packet frame, or any other frame.

In some demonstrative embodiments, the enroller, e.g., device 102, maynot be required to keep, e.g., does not keep, a timer for the NMSG, forexample, because the enroller, e.g., device 102, may be capable offunctioning as an enroller, e.g., independent of other neighboringenrollers, and/or any enrollee, e.g., device 140, in an NMSG.

In some demonstrative embodiments, the enroller, e.g., device 102, mayterminate the NMSG, for example, if a termination frame is received fromthe enrollee, and/or one or more neighboring enrollers.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 maybe configured to generate, transmit, receive, and/or process atermination frame having a frame format, e.g., as described below.

In some demonstrative embodiments, the termination frame may include aNAN action frame. For example, a subtype for data path termination maybe added in the NAN action frame.

In some demonstrative embodiments, the termination frame may include oneor more of the following fields:

TABLE 1 Size Value Field (octets) (Hexadecimal) Description Category 10x04 or 0x09 IEEE 802.11 Public Action Frame or IEEE 802.11 ProtectedDual of Public Action frame. Action Field 1 0x09 IEEE 802.11 PublicAction Frame Vendor Specific or Protected Vendor Specific. OUI 30x50-6F-9A Wi-Fi Alliance specific OUI OUI Type 1 TBD Identifying thetype and version of the NAN2 OUI Subtype 1 Variable Identifying the typeof NAN2 action frame. The specific values are defined in Table 5- x2.Information Variable Variable Including fields and/or attributes foreach Content specific NAN2 action frames, as defined in the followingsections.

In other embodiments, a termination frame may include some or all of thefields of Table 1, and/or may include one or more additional oralternative fields and/or elements, e.g., in addition to or instead ofone or more of the fields or elements of Table 1.

In some demonstrative embodiments, the OUI Subtype field of Table 1 mayinclude one or more of the following fields:

TABLE 2 OUI Subtype Notes  0 Reserved.  1 Ranging Request  2 RangingResponse  3 Ranging Report  4 Data Path Request  5 Data Path Response  6Data Path Confirm  7 Data Path Key Installment  8 Schedule Request  9Schedule Response 10 Schedule Confirm 11 Schedule Update Notification 12Data Path Termination 12-255 Reserved

In other embodiments, the OUI Subtype field of Table 1 may include someor all of the fields of Table 2, and/or may include one or moreadditional or alternative fields and/or elements, e.g., in addition toor instead of one or more of the fields or elements of Table 2.

In some demonstrative embodiments, an NDP attribute may be included in atermination frame, for example, if the termination is to be implementedfor a unicast service.

In some demonstrative embodiments, a Type field of the NDP attribute maybe configured to indicate termination.

In some demonstrative embodiments, the NDP attribute may include one ormore of the following fields:

TABLE 3 Size Field (octets) Value Description Attribute ID 1 TBDIdentifies the type of NAN attribute. Length 2 Variable Length of thefollowing fields in the attribute. Dialog Token 1 Variable Set to anonzero value to identify the request and response transaction. Type and1 Variable Bit 0 to Bit 3: Type subfield. The Type Status subfieldidentifies the type of the attribute. The values are defined as follows:0: Request 1: Response 2: Confirm 3: Security Install 4: Termination 5to 15: Reserved Bit 4 to Bit 7: Status subfield. The Status subfieldidentifies status if the Type subfield is set to “Response”. Otherwise,the Status subfield is reserved. The values are defined as follows: 0:Accepted 1: Rejected 2 to 15: Reserved Reason Code 1 Variable Identifiesthe reject reason when the Type subfield is to “Response” and the Statussubfield is to “Rejected”. This field is reserved when the Type subfieldis set to “Request”. The values of Reason Code are defined in Tablex-2.1. Publish ID 1 Variable Instance ID of the service (received inpublish message) Initiator NDI 6 Variable NDP Initiator's Data InterfaceAddress NDP ID 1 1-255 NDP Identifier (created by the initiator)Responder 6 Variable Optional field. Present only if Type subfield NDIis set to 1, and the Status subfield is set to 0. NDP Responder's DataInterface Address NDP Control 1 Variable To indicate presence or absenceof fields NDP Specific Var Variable Information that is opaquely carriedthrough Info the NAN Max Idle 2 Variable Indicate the value Maximum IdlePeriod Period

In other embodiments, the NDP attribute may include some or all of thefields of Table 3, and/or may include one or more additional oralternative fields and/or elements, e.g., in addition to or instead ofone or more of the fields or elements of Table 3.

In some demonstrative embodiments, as shown in Table 3 the NDP attributemay include a type and status field including a Termination indication,and/or a value indicating the Max idle period in a MAX idle periodfield.

In some demonstrative embodiments, the NDP control field of Table 3 mayinclude one or more of the following fields:

TABLE 4 NDP Max Idle Confirm Responder Security Specific Period —Required Paused Present Info Present Reserved Bits 1 1 1 1 1 3

In other embodiments, the NDP control field may include some or all ofthe fields of Table 4, and/or may include one or more additional oralternative fields and/or elements, e.g., in addition to or instead ofone or more of the fields or elements of Table 4.

In some demonstrative embodiments, as shown in Table 4 the NDP controlfield may indicate a presence of the Max idle period value in the NDPattribute.

In some demonstrative embodiments, an NMSG attribute may be included ina termination frame, for example, if the termination is for a multicastservice. For example, a NAN device, e.g., device 102, device 140, device160, and/or device 180, may be configured to include the NMSG attributein a termination frame, for example, to indicate a multicast service ora participation in the multicast service is to be terminated by the NANdevice.

In some demonstrative embodiments, a type field of NMSG attribute may beconfigured to indicate termination.

In some demonstrative embodiments, the NMSG attribute may include one ormore of the following fields:

TABLE 5 Size Field (octets) Value Description Attribute ID 1 TBDIdentifies the type of NAN attribute. Length 2 Variable Length of thefollowing fields in the attribute. Dialog Token 1 Variable Set to anonzero value to identify the request and response transaction. Type and1 Variable Bit 0 to Bit 3: Type subfield. The Type Status subfieldidentifies the type of the attribute. The values are defined as follows:0: Request 1: Response 2: Implicit Enroll 3: Terminate 4 to 15: ReservedBit 4 to Bit 7: Status subfield. The Status subfield identifies statusif the Type subfield is set to “Response”. Otherwise, the Statussubfield is reserved. The values are defined as follows: 0: Accepted 1:Rejected 2 to 15: Reserved Reason Code 1 Variable Identifies the rejectreason when the Type subfield is to “Response” and the Status subfieldis to “Rejected”. This field is reserved when the Type subfield is setto “Request”. The values of Reason Code are defined in Table x-2.1.Publish ID 6 Variable Instance ID of service received in Publish messageData Interface 6 Variable Set to NAN Management Address if the typeAddress is request Set to NAN Data Interface Address associated with themulticast address if type is response MC ID 1 Variable Multicast ID toidentify the request Control 2 Variable To indicate presence or absenceof fields Max Idle 2 Variable Indicate the value of Max Idle PeriodPeriod NMSG ID TBD Variable NMSG ID NMSG-MA 6 Variable Multicast Addressfor data traffic NMSG Var Variable Information that is opaquely carriedthrough Specific Info the NAN/Data Engine

In other embodiments, the NMSG attribute may include some or all of thefields of Table 5, and/or may include one or more additional oralternative fields and/or elements, e.g., in addition to or instead ofone or more of the fields or elements of Table 5.

In some demonstrative embodiments, as shown in Table 5 the NMSGattribute may include a value indicating the Max idle period in a MAXidle period field.

In some demonstrative embodiments, the NMSG control field of Table 5 mayinclude one or more of the following fields:

TABLE 6 NMSG Many NMSG NMSG- Max Idle ID Security to Specific MA PeriodPresent Present Many Info Present Present Reserved Bits 1 1 1 1 1 10

In other embodiments, the NMSG control field may include some or all ofthe fields of Table 6, and/or may include one or more additional oralternative fields and/or elements, e.g., in addition to or instead ofone or more of the fields or elements of Table 6.

In some demonstrative embodiments, as shown in Table 6 the NMSG controlfield may indicate a presence of the Max idle period value in the NMSGattribute.

In some demonstrative embodiments, a NAN Availability attribute may beincluded in the Termination frame, e.g., for resource updates.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 maybe configured to generate, transmit, receive, and/or process a messageincluding the Max Idle Period, for example, in an NDL attribute, e.g.,as described above.

For example, the NDL attribute may include one or more of the followingfields:

TABLE 7 Size Field (octets) Value Description Attribute ID 1 0x14Identifies the type of NAN attribute. Length 2 Variable Length of thefollowing fields in the attribute. Dialog Token 1 Variable Set to anonzero value to identify the request and response transaction. Type and1 Variable Bit 0 to Bit 3: Type subfield. The Type Status subfieldidentifies the type of the attribute. The values are defined as follows:0: Request 1: Response 2: Confirm 3 to 15: Reserved Bit 4 to Bit 7:Status subfield. The Status subfield identifies the status of theoperation associated with the attribute. The values of the Statussubfield are defined as follows: 0: Continued 1: Accepted 2: Rejected 3to 15: Reserved The relationship between the Type subfield and theStatus subfield is specified in Table xx. Reason Code 1 VariableIdentifies the reason when the Status subfield is set to “Rejected”.This field is reserved when the Status subfield is set to other values.The values of Reason Code are defined in Table x- 2.1. NDL Control 1Variable See Table xx for details NDL Peer ID 1 Variable Optional field.An identifier assigned to the peer STA of the NDL (to be used for pagingif required) Max Idle 2 Variable Optional field. Indicate a period ofPeriod time in units of 1024TU during which the peer NAN2 device canrefrain from transmitting over the NDL without being terminated.

In other embodiments, the NDL attribute may include some or all of thefields of Table 7, and/or may include one or more additional oralternative fields and/or elements, e.g., in addition to or instead ofone or more of the fields or elements of Table 7.

In some demonstrative embodiments, as shown in Table 7 the NDL attributemay include a value indicating the Max idle period in a MAX idle periodfield.

In some demonstrative embodiments, the NDL control field of Table 7 mayinclude one or more of the following fields:

TABLE 8 Field Size(bits) Description Field NDL Peer ID 1 1: Indicatesthe NDL Peer ID NDL Peer ID Present Present field is included in the NDLattribute; 0: otherwise Immutable 1 1: Indicates the Immutable ImmutableSchedule Schedule Schedule field is included in Present Present the NDLattribute; 0: otherwise NDC Attribute 1 1: Indicates the NDC attributeNDC Attribute Present Present associated with the NDL schedule isincluded in the same frame that carries the NDL attribute; 0: otherwiseNDL QoS 1 1: Indicates the NDL QoS NDL QoS Attribute Attribute attributeassociated with the Present Present NDL schedule is included in the sameframe that carries the NDL attribute; 0: otherwise Max Idle 1 1:Indicates the Max Idle Max Idle Period Period Present Period field isincluded in Present the NDL attribute; 0: otherwise Paging 1 1:Indicates paging Paging request/response or confirm 0: Indicates nopaging for NDL Reserved 2 Reserved for future use Reserved

In other embodiments, the NDL control field may include some or all ofthe fields of Table 8, and/or may include one or more additional oralternative fields and/or elements, e.g., in addition to or instead ofone or more of the fields or elements of Table 8.

In some demonstrative embodiments, as shown in Table 8 the NDL controlfield may indicate a presence of the Max idle period value in the NDLattribute.

Reference is made to FIG. 5, which schematically illustrates a method ofterminating NAN path, in accordance with some demonstrative embodiments.For example, one or more of the operation of FIG. 5 may be performed byone or more elements of a system, system 100 (FIG. 1); a device, e.g.,wireless communication devices 102, 160, 180 and/or 140 (FIG. 1); acontroller, e.g., controller 124 (FIG. 1), and/or controller 154 (FIG.1); a radio, e.g., radio 114 (FIG. 1); and/or radio 144 (FIG. 1); and/ora message processor, e.g., message processor 128 (FIG. 1) and/or messageprocessor 158 (FIG. 1).

As indicated at block 502, the method may include transmitting a messageincluding a NDL attribute corresponding to an NDL with a second NANdevice, the NDL attribute including a Max Idle Period field to indicatea time period during which the second NAN device is allowed to refrainfrom transmitting over the NDL without the NDL being terminated. Forexample, controller 124 (FIG. 1) may control cause and/or trigger device102 (FIG. 1) to transmit the message including the NDL attributeincluding the Max Idle Period field to indicate the time period duringwhich device 140 (FIG. 1) is allowed to refrain from transmitting overthe NDL without the NDL being terminated; and/or controller 154 (FIG. 1)may control cause and/or trigger device 140 (FIG. 1) to transmit themessage including the NDL attribute including the Max Idle Period fieldto indicate the time period during which device 102 (FIG. 1) is allowedto refrain from transmitting over the NDL without the NDL beingterminated, e.g., as described above.

As indicated at block 504, the method may include allowing the first NANdevice to terminate all NDPs over the NDL, if any frame is not receivedfrom the second NAN device for at least the time period indicated by theMax Idle Period field. For example, controller 124 (FIG. 1) may allowdevice 102 (FIG. 1) to terminate all NDPs over the NDL, if any frame isnot received from device 140 (FIG. 1) for at least the time periodindicated by the Max Idle Period field in the message from device 102(FIG. 1); and/or controller 154 (FIG. 1) may allow device 140 (FIG. 1)to terminate all NDPs over the NDL, if any frame is not received fromdevice 102 (FIG. 1) for at least the time period indicated by the MaxIdle Period field in the message from device 140 (FIG. 1), e.g., asdescribed above.

Reference is made to FIG. 6, which schematically illustrates a method ofterminating a NAN path, in accordance with some demonstrativeembodiments. For example, one or more of the operation of FIG. 6 may beperformed by one or more elements of a system, system 100 (FIG. 1); adevice, e.g., wireless communication devices 102, 160, 180 and/or 140(FIG. 1); a controller, e.g., controller 124 (FIG. 1), and/or controller154 (FIG. 1); a radio, e.g., radio 114 (FIG. 1); and/or radio 144 (FIG.1); and/or a message processor, e.g., message processor 128 (FIG. 1)and/or message processor 158 (FIG. 1).

As indicated at block 602, the method may include setting up a NANservice path with at least one second NAN device. For example,controller 154 (FIG. 1) may control, cause and/or trigger device 140(FIG. 1) setup a NAN service path with device 102 (FIG. 1); and/orcontroller 124 (FIG. 1) may control, cause and/or trigger device 102(FIG. 1) setup a NAN service path with device 140 (FIG. 1), e.g., asdescribed above.

As indicated at block 602, the method may include transmitting atermination frame to terminate a participation of the first NAN devicein the NAN service path, the termination frame includes a NAN actionframe including a data path termination subtype field. For example,controller 154 (FIG. 1) may control, cause and/or trigger device 140(FIG. 1) to transmit the termination frame including the NAN actionframe including the data path termination subtype field, for example, toterminate the participation of device 140 (FIG. 1) in the NAN servicepath; and/or controller 124 (FIG. 1) may control, cause and/or triggerdevice 102 (FIG. 1) to transmit the termination frame including the NANaction frame including the data path termination subtype field, forexample, to terminate the participation of device 102 (FIG. 1) in theNAN service path, e.g., as described above.

Reference is made to FIG. 7, which schematically illustrates a productof manufacture 700, in accordance with some demonstrative embodiments.Product 700 may include one or more tangible computer-readablenon-transitory storage media 702, which may include computer-executableinstructions, e.g., implemented by logic 704, operable to, when executedby at least one computer processor, enable the at least one computerprocessor to implement one or more operations at devices 102, 140, 160and/or 180 (FIG. 1), radio 114 (FIG. 1), radio 144 (FIG. 1), transmitter118 (FIG. 1), transmitter 148 (FIG. 1), receiver 116 (FIG. 1), receiver146 (FIG. 1), controller 124 (FIG. 1), controller 154 (FIG. 1), messageprocessor 128 (FIG. 1), and/or message processor 158 (FIG. 1), to causedevices 102, 140, 160 and/or 180 (FIG. 1), radio 114 (FIG. 1), radio 144(FIG. 1), transmitter 118 (FIG. 1), transmitter 148 (FIG. 1), receiver116 (FIG. 1), receiver 146 (FIG. 1), controller 124 (FIG. 1), controller154 (FIG. 1), message processor 128 (FIG. 1), and/or message processor158 (FIG. 1), to perform, trigger and/or implement one or moreoperations and/or functionalities, and/or to perform, trigger and/orimplement one or more operations and/or functionalities described withreference to the FIGS. 1, 2, 3, 4, 5, and/or 6, and/or one or moreoperations described herein. The phrase “non-transitory machine-readablemedium” is directed to include all computer-readable media, with thesole exception being a transitory propagating signal.

In some demonstrative embodiments, product 700 and/or machine-readablestorage media 702 may include one or more types of computer-readablestorage media capable of storing data, including volatile memory,non-volatile memory, removable or non-removable memory, erasable ornon-erasable memory, writeable or re-writeable memory, and the like. Forexample, machine-readable storage media 702 may include, RAM, DRAM,Double-Data-Rate DRAM (DDR-DRAM), SDRAM, static RAM (SRAM), ROM,programmable ROM (PROM), erasable programmable ROM (EPROM), electricallyerasable programmable ROM (EEPROM), Compact Disk ROM (CD-ROM), CompactDisk Recordable (CD-R), Compact Disk Rewriteable (CD-RW), flash memory(e.g., NOR or NAND flash memory), content addressable memory (CAM),polymer memory, phase-change memory, ferroelectric memory,silicon-oxide-nitride-oxide-silicon (SONOS) memory, a disk, a floppydisk, a hard drive, an optical disk, a magnetic disk, a card, a magneticcard, an optical card, a tape, a cassette, and the like. Thecomputer-readable storage media may include any suitable media involvedwith downloading or transferring a computer program from a remotecomputer to a requesting computer carried by data signals embodied in acarrier wave or other propagation medium through a communication link,e.g., a modem, radio or network connection.

In some demonstrative embodiments, logic 704 may include instructions,data, and/or code, which, if executed by a machine, may cause themachine to perform a method, process and/or operations as describedherein. The machine may include, for example, any suitable processingplatform, computing platform, computing device, processing device,computing system, processing system, computer, processor, or the like,and may be implemented using any suitable combination of hardware,software, firmware, and the like.

In some demonstrative embodiments, logic 704 may include, or may beimplemented as, software, a software module, an application, a program,a subroutine, instructions, an instruction set, computing code, words,values, symbols, and the like. The instructions may include any suitabletype of code, such as source code, compiled code, interpreted code,executable code, static code, dynamic code, and the like. Theinstructions may be implemented according to a predefined computerlanguage, manner or syntax, for instructing a processor to perform acertain function. The instructions may be implemented using any suitablehigh-level, low-level, object-oriented, visual, compiled and/orinterpreted programming language, such as C, C++, Java, BASIC, Matlab,Pascal, Visual BASIC, assembly language, machine code, and the like.

EXAMPLES

The following examples pertain to further embodiments.

Example 1 includes an apparatus comprising logic and circuitryconfigured to cause a first Neighbor Awareness Networking (NAN) deviceto transmit a message comprising a NAN Data Link (NDL) attributecorresponding to an NDL with a second NAN device, the NDL attributecomprising a Maximal (Max) Idle Period field to indicate a time periodduring which the second NAN device is allowed to refrain fromtransmitting over the NDL without the NDL being terminated; and allowthe first NAN device to terminate all NAN Data Paths (NDPs) over theNDL, if any frame is not received from the second NAN device for atleast the time period indicated by the Max Idle Period field.

Example 2 includes the subject matter of Example 1, and optionally,wherein the apparatus is configured to cause the first NAN device totransmit the message during establishment of an NDP.

Example 3 includes the subject matter of Example 2, and optionally,wherein the message comprises a Data Path request.

Example 4 includes the subject matter of Example 2, and optionally,wherein the message comprises a Data Path response.

Example 5 includes the subject matter of any one of Examples 1-4, andoptionally, wherein the apparatus is configured to cause the first NANdevice to transmit a termination frame to the second NAN device, thetermination frame to indicate that the NDPs over the NDL with the secondNAN device are to be terminated.

Example 6 includes the subject matter of Example 5, and optionally,wherein the termination frame comprises a NAN action frame comprising adata path termination subtype field.

Example 7 includes the subject matter of Example 5 or 6, and optionally,wherein the termination frame comprises an NDP attribute, the NDPattribute comprising a type field comprising a value to indicatetermination.

Example 8 includes the subject matter of any one of Examples 5-7, andoptionally, wherein the termination frame comprises a NAN availabilityattribute.

Example 9 includes the subject matter of any one of Examples 1-8, andoptionally, wherein the apparatus is configured to cause the first NANdevice to determine the NDL is to be terminated when all the NDPs overthe NDL are terminated.

Example 10 includes the subject matter of any one of Examples 1-9, andoptionally, wherein the apparatus is configured to cause the first NANdevice to update an activity timer based on detected activity over atleast one NDP over the NDL, and to terminate the NDL based on expirationof the activity timer.

Example 11 includes the subject matter of Example 10, and optionally,wherein the apparatus is configured to cause the first NAN device toupdate the activity timer based on a keep-alive frame from the secondNAN device, the keep-alive frame to indicate that the NDPs over the NDLare not to be terminated.

Example 12 includes the subject matter of any one of Examples 1-11, andoptionally, wherein the NDL comprises an NDL of at least one NDP of aunicast service.

Example 13 includes the subject matter of any one of Examples 1-12, andoptionally, wherein the first NAN device is a Publisher of a unicastservice.

Example 14 includes the subject matter of any one of Examples 1-12, andoptionally, wherein the first NAN device is a Subscriber of a unicastservice.

Example 15 includes the subject matter of any one of Examples 1-14, andoptionally, comprising a radio.

Example 16 includes the subject matter of any one of Examples 1-15, andoptionally, comprising one or more antennas, a processor, and a memory.

Example 17 includes a system of wireless communication comprising afirst Neighbor Awareness Networking (NAN) device, the first NAN devicecomprising a radio; one or more antennas; a memory; a processor; and acontroller configured to cause the first NAN device to transmit amessage comprising a NAN Data Link (NDL) attribute corresponding to anNDL with a second NAN device, the NDL attribute comprising a Maximal(Max) Idle Period field to indicate a time period during which thesecond NAN device is allowed to refrain from transmitting over the NDLwithout the NDL being terminated; and allow the first NAN device toterminate all NAN Data Paths (NDPs) over the NDL, if any frame is notreceived from the second NAN device for at least the time periodindicated by the Max Idle Period field.

Example 18 includes the subject matter of Example 17, and optionally,wherein the controller is configured to cause the first NAN device totransmit the message during establishment of an NDP.

Example 19 includes the subject matter of Example 18, and optionally,wherein the message comprises a Data Path request.

Example 20 includes the subject matter of Example 18, and optionally,wherein the message comprises a Data Path response.

Example 21 includes the subject matter of any one of Examples 17-20, andoptionally, wherein the controller is configured to cause the first NANdevice to transmit a termination frame to the second NAN device, thetermination frame to indicate that the NDPs over the NDL with the secondNAN device are to be terminated.

Example 22 includes the subject matter of Example 21, and optionally,wherein the termination frame comprises a NAN action frame comprising adata path termination subtype field.

Example 23 includes the subject matter of Example 21 or 22, andoptionally, wherein the termination frame comprises an NDP attribute,the NDP attribute comprising a type field comprising a value to indicatetermination.

Example 24 includes the subject matter of any one of Examples 21-23, andoptionally, wherein the termination frame comprises a NAN availabilityattribute.

Example 25 includes the subject matter of any one of Examples 17-24, andoptionally, wherein the controller is configured to cause the first NANdevice to determine the NDL is to be terminated when all the NDPs overthe NDL are terminated.

Example 26 includes the subject matter of any one of Examples 17-25, andoptionally, wherein the controller is configured to cause the first NANdevice to update an activity timer based on detected activity over atleast one NDP over the NDL, and to terminate the NDL based on expirationof the activity timer.

Example 27 includes the subject matter of Example 26, and optionally,wherein the controller is configured to cause the first NAN device toupdate the activity timer based on a keep-alive frame from the secondNAN device, the keep-alive frame to indicate that the NDPs over the NDLare not to be terminated.

Example 28 includes the subject matter of any one of Examples 17-27, andoptionally, wherein the NDL comprises an NDL of at least one NDP of aunicast service.

Example 29 includes the subject matter of any one of Examples 17-28, andoptionally, wherein the first NAN device is a Publisher of a unicastservice.

Example 30 includes the subject matter of any one of Examples 17-28, andoptionally, wherein the first NAN device is a Subscriber of a unicastservice.

Example 31 includes a method to be performed at a first NeighborAwareness Networking (NAN) device, the method comprising transmitting amessage comprising a NAN Data Link (NDL) attribute corresponding to anNDL with at least one second NAN device, the NDL attribute comprising aMaximal (Max) Idle Period field to indicate a time period during whichthe second NAN device is allowed to refrain from transmitting over theNDL without the NDL being terminated; and allowing the first NAN deviceto terminate all NAN Data Paths (NDPs) over the NDL, if any frame is notreceived from the second NAN device for at least the time periodindicated by the Max Idle Period field.

Example 32 includes the subject matter of Example 31, and optionally,comprising transmitting the message during establishment of an NDP.

Example 33 includes the subject matter of Example 32, and optionally,wherein the message comprises a Data Path request.

Example 34 includes the subject matter of Example 32, and optionally,wherein the message comprises a Data Path response.

Example 35 includes the subject matter of any one of Examples 31-34, andoptionally, comprising transmitting a termination frame to the secondNAN device, the termination frame to indicate that the NDPs over the NDLwith the second NAN device are to be terminated.

Example 36 includes the subject matter of Example 35, and optionally,wherein the termination frame comprises a NAN action frame comprising adata path termination subtype field.

Example 37 includes the subject matter of Example 35 or 36, andoptionally, wherein the termination frame comprises an NDP attribute,the NDP attribute comprising a type field comprising a value to indicatetermination.

Example 38 includes the subject matter of any one of Examples 35-37, andoptionally, wherein the termination frame comprises a NAN availabilityattribute.

Example 39 includes the subject matter of any one of Examples 31-38, andoptionally, comprising determining the NDL is to be terminated when allthe NDPs over the NDL are terminated.

Example 40 includes the subject matter of any one of Examples 31-39, andoptionally, comprising updating an activity timer based on detectedactivity over at least one NDP over the NDL, and terminating the NDLbased on expiration of the activity timer.

Example 41 includes the subject matter of Example 40, and optionally,comprising updating the activity timer based on a keep-alive frame fromthe second NAN device, the keep-alive frame to indicate that the NDPsover the NDL are not to be terminated.

Example 42 includes the subject matter of any one of Examples 31-41, andoptionally, wherein the NDL comprises an NDL of at least one NDP of aunicast service.

Example 43 includes the subject matter of any one of Examples 31-42, andoptionally, wherein the first NAN device is a Publisher of a unicastservice.

Example 44 includes the subject matter of any one of Examples 31-42, andoptionally, wherein the first NAN device is a Subscriber of a unicastservice.

Example 45 includes a product including one or more tangiblecomputer-readable non-transitory storage media comprisingcomputer-executable instructions operable to, when executed by at leastone computer processor, enable the at least one computer processor tocause a first Neighbor Awareness Networking (NAN) device to transmit amessage comprising a NAN Data Link (NDL) attribute corresponding to anNDL with at least one second NAN device, the NDL attribute comprising aMaximal (Max) Idle Period field to indicate a time period during whichthe second NAN device is allowed to refrain from transmitting over theNDL without the NDL being terminated; and allow the first NAN device toterminate all NAN Data Paths (NDPs) over the NDL, if any frame is notreceived from the second NAN device for at least the time periodindicated by the Max Idle Period field.

Example 46 includes the subject matter of Example 45, and optionally,wherein the instructions, when executed, cause the first NAN device totransmit the message during establishment of an NDP.

Example 47 includes the subject matter of Example 46, and optionally,wherein the message comprises a Data Path request.

Example 48 includes the subject matter of Example 46, and optionally,wherein the message comprises a Data Path response.

Example 49 includes the subject matter of any one of Examples 45-48, andoptionally, wherein the instructions, when executed, cause the first NANdevice to transmit a termination frame to the second NAN device, thetermination frame to indicate that the NDPs over the NDL with the secondNAN device are to be terminated.

Example 50 includes the subject matter of Example 49, and optionally,wherein the termination frame comprises a NAN action frame comprising adata path termination subtype field.

Example 51 includes the subject matter of Example 49 or 50, andoptionally, wherein the termination frame comprises an NDP attribute,the NDP attribute comprising a type field comprising a value to indicatetermination.

Example 52 includes the subject matter of any one of Examples 49-51, andoptionally, wherein the termination frame comprises a NAN availabilityattribute.

Example 53 includes the subject matter of any one of Examples 45-52, andoptionally, wherein the instructions, when executed, cause the first NANdevice to determine the NDL is to be terminated when all the NDPs overthe NDL are terminated.

Example 54 includes the subject matter of any one of Examples 45-53, andoptionally, wherein the instructions, when executed, cause the first NANdevice to update an activity timer based on detected activity over atleast one NDP over the NDL, and to terminate the NDL based on expirationof the activity timer.

Example 55 includes the subject matter of Example 54, and optionally,wherein the instructions, when executed, cause the first NAN device toupdate the activity timer based on a keep-alive frame from the secondNAN device, the keep-alive frame to indicate that the NDPs over the NDLare not to be terminated.

Example 56 includes the subject matter of any one of Examples 45-55, andoptionally, wherein the NDL comprises an NDL of at least one NDP of aunicast service.

Example 57 includes the subject matter of any one of Examples 45-56, andoptionally, wherein the first NAN device is a Publisher of a unicastservice.

Example 58 includes the subject matter of any one of Examples 45-56, andoptionally, wherein the first NAN device is a Subscriber of a unicastservice.

Example 59 includes an apparatus of wireless communication by a firstNeighbor Awareness Networking (NAN) device, the apparatus comprisingmeans for transmitting a message comprising a NAN Data Link (NDL)attribute corresponding to an NDL with at least one second NAN device,the NDL attribute comprising a Maximal (Max) Idle Period field toindicate a time period during which the second NAN device is allowed torefrain from transmitting over the NDL without the NDL being terminated;and means for allowing the first NAN device to terminate all NAN DataPaths (NDPs) over the NDL, if any frame is not received from the secondNAN device for at least the time period indicated by the Max Idle Periodfield.

Example 60 includes the subject matter of Example 59, and optionally,comprising means for transmitting the message during establishment of anNDP.

Example 61 includes the subject matter of Example 60, and optionally,wherein the message comprises a Data Path request.

Example 62 includes the subject matter of Example 60, and optionally,wherein the message comprises a Data Path response.

Example 63 includes the subject matter of any one of Examples 59-62, andoptionally, comprising means for transmitting a termination frame to thesecond NAN device, the termination frame to indicate that the NDPs overthe NDL with the second NAN device are to be terminated.

Example 64 includes the subject matter of Example 63, and optionally,wherein the termination frame comprises a NAN action frame comprising adata path termination subtype field.

Example 65 includes the subject matter of Example 63 or 64, andoptionally, wherein the termination frame comprises an NDP attribute,the NDP attribute comprising a type field comprising a value to indicatetermination.

Example 66 includes the subject matter of any one of Examples 63-65, andoptionally, wherein the termination frame comprises a NAN availabilityattribute.

Example 67 includes the subject matter of any one of Examples 59-66, andoptionally, comprising means for determining the NDL is to be terminatedwhen all the NDPs over the NDL are terminated.

Example 68 includes the subject matter of any one of Examples 59-67, andoptionally, comprising means for updating an activity timer based ondetected activity over at least one NDP over the NDL, and terminatingthe NDL based on expiration of the activity timer.

Example 69 includes the subject matter of Example 68, and optionally,comprising means for updating the activity timer based on a keep-aliveframe from the second NAN device, the keep-alive frame to indicate thatthe NDPs over the NDL are not to be terminated.

Example 70 includes the subject matter of any one of Examples 59-69, andoptionally, wherein the NDL comprises an NDL of at least one NDP of aunicast service.

Example 71 includes the subject matter of any one of Examples 59-70, andoptionally, wherein the first NAN device is a Publisher of a unicastservice.

Example 72 includes the subject matter of any one of Examples 59-70, andoptionally, wherein the first NAN device is a Subscriber of a unicastservice.

Example 73 includes an apparatus comprising logic and circuitryconfigured to cause a first Neighbor Awareness Networking (NAN) deviceto set up a NAN service path with at least one second NAN device; andtransmit a termination frame to terminate a participation of the firstNAN device in the NAN service path, the termination frame comprises aNAN action frame comprising a data path termination subtype field.

Example 74 includes the subject matter of Example 73, and optionally,wherein the NAN service path comprises a NAN Data Path (NDP) of aunicast service between the first NAN device and the second NAN device.

Example 75 includes the subject matter of Example 74, and optionally,wherein the termination frame comprises an NDP attribute, the NDPattribute comprising a type field comprising a value to indicatetermination.

Example 76 includes the subject matter of Example 74 or 75, andoptionally, wherein the first NAN device is a Publisher of the unicastservice.

Example 77 includes the subject matter of Example 74 or 75, andoptionally, wherein the first NAN device is a Subscriber of the unicastservice.

Example 78 includes the subject matter of any one of Examples 74-77, andoptionally, wherein the apparatus is configured to cause the first NANdevice to update an activity timer based on detected activity over theNDP, and to terminate the NDP based on expiration of the activity timer.

Example 79 includes the subject matter of any one of Examples 74-78, andoptionally, wherein the apparatus is configured to cause the first NANdevice to transmit a keep-alive frame prior to expiration of a keepalive timer to indicate that the NDP is not to be terminated.

Example 80 includes the subject matter of Example 73, and optionally,wherein the NAN service path comprises a NAN Multicast Service Group(NMSG), the first NAN device comprising an enroller of the NMSG.

Example 81 includes the subject matter of Example 80, and optionally,wherein the termination frame comprises an NMSG attribute, the NMSGattribute comprising a type field comprising a value to indicatetermination.

Example 82 includes the subject matter of Example 81, and optionally,wherein the NMSG attribute comprises an NMSG Identifier (ID)corresponding to the NMSG.

Example 83 includes the subject matter of any one of Examples 80-82, andoptionally, wherein the NMSG comprises a one-to-many NMSG, the first NANdevice comprises a single enroller of the NMSG.

Example 84 includes the subject matter of any one of Examples 80-82, andoptionally, wherein the NMSG comprises a many-to-many NMSG comprising aplurality of enrollers.

Example 85 includes the subject matter of any one of Examples 73-84, andoptionally, wherein the termination frame comprises a NAN availabilityattribute.

Example 86 includes the subject matter of any one of Examples 73-85, andoptionally, comprising a radio.

Example 87 includes the subject matter of any one of Examples 73-86, andoptionally, comprising one or more antennas, a processor, and a memory.

Example 88 includes a system of wireless communication comprising afirst Neighbor Awareness Networking (NAN) device, the first NAN devicecomprising a radio; one or more antennas; a memory; a processor; and acontroller configured to cause the first NAN device to set up a NANservice path with at least one second NAN device; and transmit atermination frame to terminate a participation of the first NAN devicein the NAN service path, the termination frame comprises a NAN actionframe comprising a data path termination subtype field.

Example 89 includes the subject matter of Example 88, and optionally,wherein the NAN service path comprises a NAN Data Path (NDP) of aunicast service between the first NAN device and the second NAN device.

Example 90 includes the subject matter of Example 89, and optionally,wherein the termination frame comprises an NDP attribute, the NDPattribute comprising a type field comprising a value to indicatetermination.

Example 91 includes the subject matter of Example 89 or 90, andoptionally, wherein the first NAN device is a Publisher of the unicastservice.

Example 92 includes the subject matter of Example 89 or 90, andoptionally, wherein the first NAN device is a Subscriber of the unicastservice.

Example 93 includes the subject matter of any one of Examples 89-92, andoptionally, wherein the controller is configured to cause the first NANdevice to update an activity timer based on detected activity over theNDP, and to terminate the NDP based on expiration of the activity timer.

Example 94 includes the subject matter of any one of Examples 89-93, andoptionally, wherein the controller is configured to cause the first NANdevice to transmit a keep-alive frame prior to expiration of a keepalive timer to indicate that the NDP is not to be terminated.

Example 95 includes the subject matter of Example 88, and optionally,wherein the NAN service path comprises a NAN Multicast Service Group(NMSG), the first NAN device comprising an enroller of the NMSG.

Example 96 includes the subject matter of Example 95, and optionally,wherein the termination frame comprises an NMSG attribute, the NMSGattribute comprising a type field comprising a value to indicatetermination.

Example 97 includes the subject matter of Example 96, and optionally,wherein the NMSG attribute comprises an NMSG Identifier (ID)corresponding to the NMSG.

Example 98 includes the subject matter of any one of Examples 95-97, andoptionally, wherein the NMSG comprises a one-to-many NMSG, the first NANdevice comprises a single enroller of the NMSG.

Example 99 includes the subject matter of any one of Examples 95-97, andoptionally, wherein the NMSG comprises a many-to-many NMSG comprising aplurality of enrollers.

Example 100 includes the subject matter of any one of Examples 88-99,and optionally, wherein the termination frame comprises a NANavailability attribute.

Example 101 includes a method to be performed at a first NeighborAwareness Networking (NAN) device, the method comprising setting up aNAN service path with at least one second NAN device; and transmitting atermination frame to terminate a participation of the first NAN devicein the NAN service path, the termination frame comprises a NAN actionframe comprising a data path termination subtype field.

Example 102 includes the subject matter of Example 101, and optionally,wherein the NAN service path comprises a NAN Data Path (NDP) of aunicast service between the first NAN device and the second NAN device.

Example 103 includes the subject matter of Example 102, and optionally,wherein the termination frame comprises an NDP attribute, the NDPattribute comprising a type field comprising a value to indicatetermination.

Example 104 includes the subject matter of Example 102 or 103, andoptionally, wherein the first NAN device is a Publisher of the unicastservice.

Example 105 includes the subject matter of Example 102 or 103, andoptionally, wherein the first NAN device is a Subscriber of the unicastservice.

Example 106 includes the subject matter of any one of Examples 102-105,and optionally, comprising updating an activity timer based on detectedactivity over the NDP, and terminating the NDP based on expiration ofthe activity timer.

Example 107 includes the subject matter of any one of Examples 102-106,and optionally, comprising transmitting a keep-alive frame prior toexpiration of a keep alive timer to indicate that the NDP is not to beterminated.

Example 108 includes the subject matter of Example 101, and optionally,wherein the NAN service path comprises a NAN Multicast Service Group(NMSG), the first NAN device comprising an enroller of the NMSG.

Example 109 includes the subject matter of Example 108, and optionally,wherein the termination frame comprises an NMSG attribute, the NMSGattribute comprising a type field comprising a value to indicatetermination.

Example 110 includes the subject matter of Example 109, and optionally,wherein the NMSG attribute comprises an NMSG Identifier (ID)corresponding to the NMSG.

Example 111 includes the subject matter of any one of Examples 108-110,and optionally, wherein the NMSG comprises a one-to-many NMSG, the firstNAN device comprises a single enroller of the NMSG.

Example 112 includes the subject matter of any one of Examples 108-110,and optionally, wherein the NMSG comprises a many-to-many NMSGcomprising a plurality of enrollers.

Example 113 includes the subject matter of any one of Examples 101-112,and optionally, wherein the termination frame comprises a NANavailability attribute.

Example 114 includes a product including one or more tangiblecomputer-readable non-transitory storage media comprisingcomputer-executable instructions operable to, when executed by at leastone computer processor, enable the at least one computer processor tocause a first Neighbor Awareness Networking (NAN) device to set up a NANservice path with at least one second NAN device; and transmit atermination frame to terminate a participation of the first NAN devicein the NAN service path, the termination frame comprises a NAN actionframe comprising a data path termination subtype field.

Example 115 includes the subject matter of Example 114, and optionally,wherein the NAN service path comprises a NAN Data Path (NDP) of aunicast service between the first NAN device and the second NAN device.

Example 116 includes the subject matter of Example 115, and optionally,wherein the termination frame comprises an NDP attribute, the NDPattribute comprising a type field comprising a value to indicatetermination.

Example 117 includes the subject matter of Example 115 or 116, andoptionally, wherein the first NAN device is a Publisher of the unicastservice.

Example 118 includes the subject matter of Example 115 or 116, andoptionally, wherein the first NAN device is a Subscriber of the unicastservice.

Example 119 includes the subject matter of any one of Examples 115-118,and optionally, wherein the instructions, when executed, cause the firstNAN device to update an activity timer based on detected activity overthe NDP, and to terminate the NDP based on expiration of the activitytimer.

Example 120 includes the subject matter of any one of Examples 115-119,and optionally, wherein the instructions, when executed, cause the firstNAN device to transmit a keep-alive frame prior to expiration of a keepalive timer to indicate that the NDP is not to be terminated.

Example 121 includes the subject matter of Example 114, and optionally,wherein the NAN service path comprises a NAN Multicast Service Group(NMSG), the first NAN device comprising an enroller of the NMSG.

Example 122 includes the subject matter of Example 121, and optionally,wherein the termination frame comprises an NMSG attribute, the NMSGattribute comprising a type field comprising a value to indicatetermination.

Example 123 includes the subject matter of Example 122, and optionally,wherein the NMSG attribute comprises an NMSG Identifier (ID)corresponding to the NMSG.

Example 124 includes the subject matter of any one of Examples 121-123,and optionally, wherein the NMSG comprises a one-to-many NMSG, the firstNAN device comprises a single enroller of the NMSG.

Example 125 includes the subject matter of any one of Examples 121-123,and optionally, wherein the NMSG comprises a many-to-many NMSGcomprising a plurality of enrollers.

Example 126 includes the subject matter of any one of Examples 114-125,and optionally, wherein the termination frame comprises a NANavailability attribute.

Example 127 includes an apparatus of wireless communication by a firstNeighbor Awareness Networking (NAN) device, the apparatus comprisingmeans for setting up a NAN service path with at least one second NANdevice; and means for transmitting a termination frame to terminate aparticipation of the first NAN device in the NAN service path, thetermination frame comprises a NAN action frame comprising a data pathtermination subtype field.

Example 128 includes the subject matter of Example 127, and optionally,wherein the NAN service path comprises a NAN Data Path (NDP) of aunicast service between the first NAN device and the second NAN device.

Example 129 includes the subject matter of Example 128, and optionally,wherein the termination frame comprises an NDP attribute, the NDPattribute comprising a type field comprising a value to indicatetermination.

Example 130 includes the subject matter of Example 128 or 129, andoptionally, wherein the first NAN device is a Publisher of the unicastservice.

Example 131 includes the subject matter of Example 128 or 129, andoptionally, wherein the first NAN device is a Subscriber of the unicastservice.

Example 132 includes the subject matter of any one of Examples 128-131,and optionally, comprising means for updating an activity timer based ondetected activity over the NDP, and terminating the NDP based onexpiration of the activity timer.

Example 133 includes the subject matter of any one of Examples 128-132,and optionally, comprising means for transmitting a keep-alive frameprior to expiration of a keep alive timer to indicate that the NDP isnot to be terminated.

Example 134 includes the subject matter of Example 127, and optionally,wherein the NAN service path comprises a NAN Multicast Service Group(NMSG), the first NAN device comprising an enroller of the NMSG.

Example 135 includes the subject matter of Example 134, and optionally,wherein the termination frame comprises an NMSG attribute, the NMSGattribute comprising a type field comprising a value to indicatetermination.

Example 136 includes the subject matter of Example 135, and optionally,wherein the NMSG attribute comprises an NMSG Identifier (ID)corresponding to the NMSG.

Example 137 includes the subject matter of any one of Examples 134-136,and optionally, wherein the NMSG comprises a one-to-many NMSG, the firstNAN device comprises a single enroller of the NMSG.

Example 138 includes the subject matter of any one of Examples 134-136,and optionally, wherein the NMSG comprises a many-to-many NMSGcomprising a plurality of enrollers.

Example 139 includes the subject matter of any one of Examples 127-138,and optionally, wherein the termination frame comprises a NANavailability attribute.

Functions, operations, components and/or features described herein withreference to one or more embodiments, may be combined with, or may beutilized in combination with, one or more other functions, operations,components and/or features described herein with reference to one ormore other embodiments, or vice versa.

While certain features have been illustrated and described herein, manymodifications, substitutions, changes, and equivalents may occur tothose skilled in the art. It is, therefore, to be understood that theappended claims are intended to cover all such modifications and changesas fall within the true spirit of the disclosure.

What is claimed is:
 1. An apparatus comprising logic and circuitryconfigured to cause a first Neighbor Awareness Networking (NAN) deviceto: transmit a message comprising a NAN Data Link (NDL) attributecorresponding to an NDL with a second NAN device, the NDL attributecomprising a Maximal (Max) Idle Period field to indicate a time periodduring which the second NAN device is allowed to refrain fromtransmitting over the NDL without the NDL being terminated; and allowthe first NAN device to terminate all NAN Data Paths (NDPs) over theNDL, if any frame is not received from the second NAN device for atleast the time period indicated by the Max Idle Period field, whereinthe apparatus is configured to cause the first NAN device to update anactivity timer based on detected activity over at least one NDP over theNDL, and to terminate the NDL based on expiration of the activity timer.2. The apparatus of claim 1 configured to cause the first NAN device totransmit the message during establishment of an NDP.
 3. The apparatus ofclaim 1 configured to cause the first NAN device to transmit atermination frame to the second NAN device, the termination frame toindicate that the NDPs over the NDL with the second NAN device are to beterminated.
 4. The apparatus of claim 3, wherein the termination framecomprises a NAN action frame comprising a data path termination subtypefield.
 5. The apparatus of claim 3, wherein the termination framecomprises an NDP attribute, the NDP attribute comprising a type fieldcomprising a value to indicate termination.
 6. The apparatus of claim 3,wherein the termination frame comprises a NAN availability attribute. 7.The apparatus of claim 1 configured to cause the first NAN device todetermine the NDL is to be terminated when all the NDPs over the NDL areterminated.
 8. The apparatus of claim 1 configured to cause the firstNAN device to update the activity timer based on a keep-alive frame fromthe second NAN device, the keep-alive frame to indicate that the NDPsover the NDL are not to be terminated.
 9. The apparatus of claim 1,wherein the NDL comprises an NDL of at least one NDP of a unicastservice.
 10. The apparatus of claim 1 comprising a radio.
 11. Theapparatus of claim 1 comprising one or more antennas, a processor, and amemory.
 12. A product including one or more tangible computer-readablenon-transitory storage media comprising computer-executable instructionsoperable to, when executed by at least one computer processor, enablethe at least one computer processor to cause a first Neighbor AwarenessNetworking (NAN) device to: transmit a message comprising a NAN DataLink (NDL) attribute corresponding to an NDL with at least one secondNAN device, the NDL attribute comprising a Maximal (Max) Idle Periodfield to indicate a time period during which the second NAN device isallowed to refrain from transmitting over the NDL without the NDL beingterminated; and allow the first NAN device to terminate all NAN DataPaths (NDPs) over the NDL, if any frame is not received from the secondNAN device for at least the time period indicated by the Max Idle Periodfield, wherein the instructions, when executed, cause the first NANdevice to update an activity timer based on detected activity over atleast one NDP over the NDL, and to terminate the NDL based on expirationof the activity timer.
 13. The product of claim 12, wherein theinstructions, when executed, cause the first NAN device to transmit atermination frame to the second NAN device, the termination frame toindicate that the NDPs over the NDL with the second NAN device are to beterminated.
 14. An apparatus comprising logic and circuitry configuredto cause a first Neighbor Awareness Networking (NAN) device to: set upone or more NAN Data Paths (NDPs) over a NAN Data Link (NDL) with asecond NAN device; update an activity timer based on detected activityover at least one NDP of the one or more NDPs over the NDL; allow thefirst NAN device to terminate the one or more NDPs over the NDL based onexpiration of the activity timer; transmit a termination frame toterminate the one or more NDPs over the NDL, the termination framecomprises a NAN action frame comprising a data path termination subtypefield; and determine the NDL is to be terminated when all NDPs over theNDL are terminated.
 15. The apparatus of claim 14, wherein the one ormore NDPs comprise one or more NDPs of a unicast service between thefirst NAN device and the second NAN device.
 16. The apparatus of claim14, wherein the termination frame comprises an NDP attribute, the NDPattribute comprising a type field comprising a value to indicatetermination.
 17. The apparatus of claim 15, wherein the first NAN deviceis a Publisher of the unicast service.
 18. The apparatus of claim 15,wherein the first NAN device is a Subscriber of the unicast service. 19.The apparatus of claim 14, wherein the termination frame comprises a NANavailability attribute.
 20. The apparatus of claim 14 comprising aradio.
 21. The apparatus of claim 14 configured to cause the first NANdevice to transmit a message comprising an NDL attribute comprising aMaximal (Max) Idle Period field to indicate a time period during whichthe second NAN device is allowed to refrain from transmitting over theNDL without the NDL being terminated.
 22. The apparatus of claim 14comprising one or more antennas, a processor, and a memory.
 23. Aproduct including one or more tangible computer-readable non-transitorystorage media comprising computer-executable instructions operable to,when executed by at least one computer processor, enable the at leastone computer processor to cause a first Neighbor Awareness Networking(NAN) device to: set up one or more NAN Data Paths (NDPs) over a NANData Link (NDL) with a second NAN device; update an activity timer basedon detected activity over at least one NDP of the one or more NDPs overthe NDL; allow the first NAN device to terminate the one or more NDPsover the NDL based on expiration of the activity timer; transmit atermination frame to terminate the one or more NDPs over the NDL, thetermination frame comprises a NAN action frame comprising a data pathtermination subtype field; and determine the NDL is to be terminatedwhen all NDPs over the NDL are terminated.
 24. The product of claim 23,wherein the instructions, when executed, cause the first NAN device totransmit a message comprising an NDL attribute comprising a Maximal(Max) Idle Period field to indicate a time period during which thesecond NAN device is allowed to refrain from transmitting over the NDLwithout the NDL being terminated.